С помощью запроса в MySQL

Если Вы пользуетесь виртуальным хостингом, то способ сброса пароля администратора Drupal с помощью запроса в MySQL - единственный вариант.

  • Авторизуйтесь по ssh
  • Перейдите в корневую директорию сайта
  • Выполните команду
./scripts/password-hash.sh "<PASSWORD>"
  • Скопируйте полученный ответ после «hash:»
password: <PASSWORD>          hash: $S$Dm@bibKkXCGCvwfk32KgyAYuAm.OD7q0
  • Перейдите в phpMyAdmin
  • Выберите нужную базу данных
  • Нажмите вкладку «SQL»
  • Выполните запрос:
 UPDATE <prefix>users SET pass ='<HASH>' WHERE uid = 1;

Обратите внимание, на <prefix>, который может быть произвольным, либо отсутствовать.

С помощью drush

Если Вы пользуетесь виртуальным сервером и администрируете более одного сайта на Drupal, то наиболее оптимальным вариантом сброса пароля будет использование drush.

  • Авторизуйтесь по ssh
  • Перейдите в корневую директорию сайта
  • Выполните команду
drush upwd --password="<PASSWORD>" "1"

С помощью php-скрипта

ВНИМАНИЕ. ВЫСОКАЯ СТЕПЕНЬ УГРОЗЫ БЕЗОПАСНОСТИ САЙТА

Этот способ подойдёт в случае отсутствия php-доступа.

  • Создайте файл с произвольным названием, например «sa89Bf.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>
  • Загрузите файл с помощью файлового менеджера или FTP в корневую директорию сайта.
  • Перейдите браузером по ссылке:
http://<ваш сайт>/<созданный файл>?pass=<PASSWORD>
  • После удачного завершения процедуры получите ответ «Done».
  • Удалите файл!

Дополнительная информация