如何通过MySQL命令行修改WordPress用户密码

IP Address: 54.224.60.122


WordPress是一款非常流行的CMS系统,其简单易用而又具有极高的安全性,成为构建网站的首选。作为WordPress网站的用户,无论是注册用户、还是编辑、管理员,都会遇到登录时的麻烦,特别是忘记密码。

遇到这种情况,当然可以通过WP的忘记密码功能来重置自己的密码,但是如果用户不能访问自己的注册邮箱亦或是WP服务器根本发不出邮件来,那么作为用户要想进入网站管理后台,就需要直接操作MySQL数据库来重置密码了。本文将介绍如何在linux系统通过MySQL命令行来重置WP的帐户密码。

WordPress支持MySQL/MariaDB,而在登录数据库之前,需要给新的账户密码进行MD5加密操作,从而生成新的经过MD5处理的密文字符,这个字符串将用来替代原来的账户密码。假设重新设置的密码为“daehub.com”,那么就需要使用如下命令:

# echo -n "daehub.com" | md5sum

生成好新的密码,就可以使用root权限账户登录MySQL数据库了,修改WP密码,需要对WP的数据进行操作,而这个数据库在默认情况下是“wordpress”,使用如下命令登录数据库并选择操作wordpress数据库:

# mysql -u root -p
MariaDB [(none)]> show databases;
MariaDB [(none)]> use wordpress;

之后就是对数据库的用户表wp_users进行操作了,需要执行SQL语句。由于这个表保存了用户的基本信息,我们如果只修改用户登录密码,那么只关心ID、user_login、user_pass字段,那么使用如下语句对wordpress数据库进行操作:

MariaDB [(none)]> show tables;
MariaDB [(none)]> SELECT ID, user_login, user_pass FROM wp_users;

可以看到,ID字段表示用户的ID;user_login为用户登录名;而user_pass当然就是经过MD5加密的账户密码了。现在就可以通过UPDATE语句修改密码了。需要使用之前生成的字符串,语句如下:

MariaDB [(none)]> UPDATE wp_users SET user_pass= "7a3bb4ee75ada21a47a1c4e7d5d4b3ec" WHERE ID = 1;

可以看到,这时密码就已经修改完成了,现在可以使用新的密码登录WP了。

当然,也可以使用MySQL的MD5函数来直接通过SQL语句来更新密码,示例如下:

MariaDB [(none)]> UPDATE wp_users SET user_pass = MD5('daehub.com') WHERE ID=1;

这条语句就可以使用SQL语句来直观的设置登录密码了,最后可以通过SELECT语句来比较一下用户密码字符串是不是一样呢。

发表评论

电子邮件地址不会被公开。 必填项已用*标注