在drupal 7中更改管理员密码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在drupal 7中更改管理员密码相关的知识,希望对你有一定的参考价值。

我使用内置的Drupal 7用户模块,用户注册,忘记密码 - 电子邮件和所有这些东西。

我忘记了我的管理员密码。我可以访问我的网站,该网站托管在1and1.com上,并且还可以访问mysql

是否可以通过SQL更改密码或电子邮件地址,以便我可以访问管理页面?

如果有可能如何?你能帮助我吗?

谢谢!

答案

如果安装了Drush,则只需在站点根目录内的任何位置在终端中输入以下命令。

drush upwd admin --password=mynewpassword

在这里,admin是用户名;谁的密码将更改为mynewpassword

另一答案

经过几次研究,我尝试将以下代码存储在根目录下的php文件中

将其保存为password-reset-admin.php

<?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,
// 'name' => 'admin',
// 'mail' => '<a href="mailto:yourmail@domain.com'">yourmail@domain.com'</a>;
))
->condition('uid', '1', '=')
->execute();
print "Done. Please delete this file immediately!";
drupal_exit();
 ?>

然后通过以下方式访问php文件:

 https://yoursite.com/password-reset-admin.php?pass=newpassword

它只是工作.. :)希望它有助于其他人。

请确保删除该文件。

另一答案

要更改密码,您需要具有对您网站的shell访问权限。如果没有,请在本地计算机上下载drupal 7的副本。

然后,打开终端并导航到Drupal 7根文件夹。然后键入以下命令:

./scripts/password-hash.sh NEW_PASSWORD

用您需要的新密码替换NEW_PASSWORD

这将输出一个新密码哈希,复制此密码并转到您的数据库管理器(phpMyAdmin或类似)并将管理员密码更改为新生成的文本。

我不知道其他方法,因为Drupal不再使用MD5而是使用散列算法。

另一答案

将目录更改为Drupal的根目录。然后生成新的哈希。

在Drupal 7的情况下:

$ php scripts/password-hash.sh 'your-new-pass-here'

然后执行SQL查询以更新管理员密码:

UPDATE users_field_data SET pass='$S$Do7UQjqtEELNccdi92eCXcVJ2KnwUeHrSbK3YhFm8oR3lRJQbMB2' WHERE uid = 1;

在Drupal 8的情况下,脚本的路径将是:

$ php core/scripts/password-hash.sh 'your-new-pass-here'

更新数据库:

UPDATE users_field_data SET pass='$S$Do7UQjqtEELNccdi92eCXcVJ2KnwUeHrSbK3YhFm8oR3lRJQbMB2' WHERE uid = 1;

清理缓存:

DELETE FROM cache_entity WHERE cid = 'values:user:1';
另一答案

如果您有权访问数据库,那么......

  • 转到数据库中的users表,将管理员的电子邮件更改为您有权访问的电子邮件。
  • 然后,转到yoursite.com/user/password并输入刚刚更改的电子邮件。
  • 转到您的电子邮件,然后单击重置链接进入您的站点并重置密码。

完成!

另一答案

经过测试,确实有效!

例如,通过PhpMyAdmin访问数据库中的表“users”(即此表可以有一个你在Drupal安装部分已经提到的前缀,所以yourPrefix_可以是你的项目名称mywebsitename_,在这种情况下你我会有mywebsitename_users。

您应该更改与“uid”列关联的“pass”列,其值为1(即admin用户帐户为1)。

作为密码的加密值:Admin_12345 =>

$ C $ DiffSVHg9tnttvyyyyyYGYVLAaZzv5EgSShOiR56D.mk8MpNks1II2

更换存储在数据库中的您已完全忘记的旧散列密码值后,您可以加入管理员帐户。

在您使用另一个帐户加入帐户后,请不要忘记更改密码:Admin_12345。

另一答案

您可以生成查询here并在数据库中运行查询。

以上是关于在drupal 7中更改管理员密码的主要内容,如果未能解决你的问题,请参考以下文章

Javascript代码片段在drupal中不起作用

在 Drupal 7 中更改数据集的搜索查询条件

在 Drupal 7 中更改寻呼机格式

如何以编程方式更改 Drupal 用户密码?

Drupal 6 视图 2:PHP 片段

drupal 7.34 维护模式