在 WordPress 中,有多种方法可以重置密码。(通常,最简单的重置方法是通过博客或网站主登录页面上的“忘记密码?”链接。)
但是,有时(尤其是当您的电子邮件无法正常工作时),您可能需要采取不同的步骤来重置密码。
以下是重置密码的不同方法的列表。您使用的方法取决于您仍拥有的网站访问权限类型。
更改密码
要在当前版本中更改密码:
- 在管理屏幕菜单中,转到用户 > 所有用户。
- 单击列表中的用户名进行编辑。
- 在编辑用户屏幕中,向下滚动到新密码部分,然后单击生成密码按钮。
- 如果您想更改自动生成的密码,您可以在提供的框中输入新密码来覆盖它。强度框将显示您的密码有多强。
- 单击更新用户按钮。
您的新密码立即生效。
通过自动电子邮件程序
如果您知道您的用户名或个人资料中的电子邮件帐户,您可以使用 WordPress 的“忘记密码”功能。
- 转到您的 WordPress 登录页面(例如http://yoursite.com/wordpress/wp-login.php)
- 点击“忘记密码?”链接
- 您将进入一个页面以输入一些详细信息。输入您的用户名或该帐户存档的电子邮件地址。
- 请放心等待,您的新密码将通过电子邮件发送给您。
- 获得新密码后,登录您的个人资料页面并将此密码更改为您可以记住的密码。
通过 MySQL 命令行
- 获取密码的 MD5 哈希值。
- 访问 md5 哈希生成器,或者…
- 使用 Python 创建密钥,或者…
- 在Unix / Linux上:
- 创建一个名为 wp.txt 的文件,其中只包含新密码。
- tr -d’\r\n'<wp.txt| md5sum | tr-d’-‘
- rm wp.txt
- 在 Mac OS X 上:
- 创建一个名为 wp.txt 的文件,其中只包含新密码。然后输入以下任一行
- md5 -q ./wp.txt; rm ./wp.txt(如果您想要打印出 MD5 哈希值。)
- md5 -q ./wp.txt | pbcopy; rm ./wp.txt(如果您希望将 MD5 哈希复制到剪贴板。)
- “mysql -u root -p”(登录 MySQL)
- 输入你的 mysql 密码
- “使用(数据库名称)”(选择 WordPress 数据库)
- “show tables;”(您要查找以“users”结尾的表名)
- “SELECT ID, user_login, user_pass FROM (name-of-table-you-found);”(这让你了解里面发生了什么)
- “UPDATE (您找到的表的名称) SET user_pass=”(您制作的 MD5 字符串)” WHERE ID = (您正在重置密码的账户的 id 号);”(实际上更改了密码)
- “SELECT ID, user_login, user_pass FROM (name-of-table-you-found);” (确认已经更改)
- (输入 Control-D 退出 mysql 客户端)
注意:如果您有最新版本的 MySQL(版本 5.x?),您可以让 MySQL 为您计算 MD5 哈希值。
- 跳过上面的步骤#1。
- 请对步骤#7执行以下操作。
- “UPDATE (name-of-table-you-found) SET user_pass = MD5(‘(new-password)’) WHERE ID = (id#-of-account-you-are-reseting-password-for);” (实际上更改了密码)
请注意,即使密码是加盐的,也就是说它们看起来像 $P$BLDJMdyBwegaCLE0GeDiGtC/mqXLzB0,您仍然可以用 MD5 哈希替换密码,WordPress 会允许您登录。
通过 phpMyAdmin
本文适用于那些拥有phpMyAdmin数据库访问权限的用户。注意:使用 phpMyAdmin 风险自负。如果您对自己的使用能力存疑,请寻求进一步的建议。WordPress 对数据丢失不承担任何责任。
- 首先登录 phpMyAdmin 并单击数据库。
- 会出现一个数据库列表。单击您的 WordPress 数据库。
phpMyAdmin 数据库选择
- 数据库中的所有表都会显示出来。如果没有,请点击“结构”。
- 在表列中查找wp_users 。
- 点击图标进行浏览。
- 在 user_login 下找到您的用户名
- 单击编辑(在某些版本的 phpMyAdmin 中可能看起来像铅笔图标)。
phpMyAdmin 选择用户表
- 将显示您的 user_id。单击“编辑”。
- user_pass 旁边是一长串数字和字母。
- 选择并删除这些并输入您的新密码。
- 输入您要使用的密码。您可以正常输入密码——但请记住,密码区分大小写。
- 在这个例子中,新密码将是“rabbitseatcarrots”。
- 完成后,单击指示的下拉菜单,然后从菜单中选择 MD5。
phpMyAdmin 在 user_pass 行上选择 MD5 函数
- 检查您的密码是否正确,以及 MD5 是否在框中。
phpMyAdmin user_pass 行具有 MD5 函数,密码为“rabbitseatcarrots”
- 单击右下角的‘Go’按钮。
- 在登录屏幕上测试新密码。如果不行,请检查您是否严格按照这些说明操作。
使用 phpMyAdmin 的其他教程
通过 FTP
如果您使用管理员用户,还有一种通过 FTP 重置密码的简单方法。
- 通过 FTP 登录您的网站并下载活动主题的 functions.php 文件。
- 编辑文件并在其中添加此代码,就在开头,第一个之后
<?php
wp_set_password( 'my_new_password', 1 );
在上面的代码中,将文本替换my_new_password
为主管理员用户的新密码。1
上面的数字是指wp_users
数据库表中的用户 ID 号。由于我们想要主管理员用户的用户 ID,我们只需将数字保留为1
,这通常是主管理员用户的用户 ID。 - 将修改后的文件上传回您的网站。
- 一旦您能够登录,请务必返回并删除该代码。它会在您每次加载页面时重置您的密码,直到您这样做为止。
通过 WP CLI
WP CLI 是一个用于管理 WordPress 安装的命令行工具。
- 进入 /wordpress 目录并输入查看所有用户。找到您要更新的用户的 ID。
$ wp user list
- 然后,用要更新的用户的 ID 替换“1”来更新用户。
$ wp user update 1 --user_pass=$UP3RstrongP4$w0rd
使用紧急密码重置脚本
如果上面列出的其他解决方案不起作用,请尝试紧急密码重置脚本。请注意,它不是插件,而是 PHP 脚本。
警告:
- 紧急密码重置脚本要求您知道管理员的用户名。
- 它更新管理员密码并向管理员的电子邮件地址发送电子邮件。
- 即使您没有收到电子邮件,密码仍会被更改。
- 您无需登录即可使用它。(毕竟,如果您可以登录,就不需要脚本了。)
- 将脚本放在 WordPress 安装的根目录中。不要将其上传到 WordPress 插件目录。
- 出于安全原因,请记住在完成后删除该脚本。
使用指南:
- 从紧急密码脚本中复制紧急脚本并将其放入 WordPress 安装根目录中名为 emergency.php 的文件中(与包含 wp-config.php 的目录相同)。
- 在您的浏览器中,打开http://example.com/emergency.php。
- 根据提示,输入管理员用户名(通常为 admin)和新密码,然后点击更新选项。系统会显示一条消息,提示密码已更改。系统会向博客管理员发送一封电子邮件,其中包含更改后的密码信息。
- 完成后,从服务器中删除 emergency.php。 不要将其留在服务器上,因为其他人可能会使用它来更改您的密码。
其他参考
- 这是另一个无需知道用户名或电子邮件即可使用的密码重置脚本。