Если Вы пользуетесь виртуальным хостингом, то способ сброса пароля администратора Drupal с помощью запроса в MySQL - единственный вариант.
./scripts/password-hash.sh "<PASSWORD>"
password: <PASSWORD> hash: $S$Dm@bibKkXCGCvwfk32KgyAYuAm.OD7q0
UPDATE <prefix>users SET pass ='<HASH>' WHERE uid = 1;
Обратите внимание, на <prefix>, который может быть произвольным, либо отсутствовать.
Если Вы пользуетесь виртуальным сервером и администрируете более одного сайта на Drupal, то наиболее оптимальным вариантом сброса пароля будет использование drush.
drush upwd --password="<PASSWORD>" "1"
ВНИМАНИЕ. ВЫСОКАЯ СТЕПЕНЬ УГРОЗЫ БЕЗОПАСНОСТИ САЙТА
Этот способ подойдёт в случае отсутствия php-доступа.
define('DRUPAL_ROOT', getcwd()); require_once DRUPAL_ROOT . '/includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); require_once DRUPAL_ROOT . '/includes/password.inc'; if (isset($_GET['pass']) && !empty($_GET['pass'])) { $newhash = user_hash_password($_GET['pass']); } else { die('Retry with ?pass=PASSWORD set in the URL'); } $updatepass = db_update('users') ->fields(array( 'pass' => $newhash, // Uncomment the following lines to reset the administrative username and/or email address, if necessary. // 'name' => 'admin', // 'mail' => 'yourmail@example.com' )) ->condition('uid', '1', '=') ->execute(); print "Done. Please delete this file immediately!"; drupal_exit(); </pre>
http://<ваш сайт>/<созданный файл>?pass=<PASSWORD>