您的 WordPress 网站是否被锁定?
有时,黑客会通过从数据库中删除您的管理员帐户来将您锁定在自己的网站之外。
在本文中,我们将向您展示如何通过 MySQL 将管理员用户添加到 WordPress 数据库,以便您可以恢复访问权限。
为什么通过 MySQL 将管理员用户添加到 WordPress 数据库?
我们曾经遇到过一个问题,用户的网站被黑客攻击,他们的管理员帐户被从数据库中删除。这使得他们无法访问WordPress 网站。
我们能够通过直接创建 WordPress 网站的新管理员用户来帮助他们访问其网站。我们使用 phpMyAdmin 来做到这一点,这是一个基于 Web 的工具,允许您使用 Web 浏览器管理 MySQL 数据库。
如果您发现自己因黑客或仅仅因为忘记密码而被锁定在 WordPress 管理区域之外,那么您也可以执行相同的操作。
但是,在执行任何 MySQL 编辑之前,您应该始终对数据库进行备份。然后,一旦您可以重新登录您的网站,您可能需要按照我们的初学者指南来修复被黑的 WordPress 网站。
话虽如此,我们来看看如何通过 MySQL 添加管理员用户到 WordPress 数据库。
使用 phpMyAdmin 将管理员用户添加到 WordPress 数据库
大多数顶级 WordPress 托管公司都预装了 phpMyAdmin 。您可以在托管帐户 cPanel 仪表板的数据库部分中找到它。
以下是Bluehost控制面板的屏幕截图 :
单击该图标将打开 phpMyAdmin 界面。您需要从左栏中选择您的 WordPress 数据库。
之后,phpMyAdmin 将显示 WordPress 数据库中的所有表。wp_users
您将对和表进行更改wp_usermeta
。
将用户添加到 wp_users 表
首先,您需要找到wp_users
表格并单击它。这将显示表中当前列出的用户。
请注意,在下面的屏幕截图中,我们的演示网站的表中有两个用户 ID,1 和 2。当我们为演示网站创建新用户时,该 ID 需要是唯一的,因此我们将键入数字 3。
您需要单击屏幕顶部的“插入”选项卡,以便插入新管理员用户的信息。
将以下信息添加到插入表单上的字段中:
ID
:选择一个唯一的数字(在我们的示例中,我们将使用 3)user_login
:登录时使用的用户名user_pass
:添加密码,并确保在功能菜单中选择MD5(见下图)user_nicename
:用户的全名或昵称user_email
:用户的电子邮件地址user_url
:您的网站地址user_registered
:使用日历选择用户注册的日期和时间user_activation_key
: 留着空白user_status
:将其设置为 0display_name
:用户的全名或显示名称
完成后,请确保单击“执行”按钮来存储新用户。
将用户添加到 wp_usermeta 表
现在,您需要找到该wp_usermeta
表并单击它。之后,您应该像上一步一样单击“插入”选项卡。
接下来,您需要将以下信息添加到插入表单中:
unmeta_id
:将此留空(它将自动生成)user_id
:您在上一步中使用的用户 IDmeta_key
: 这个应该是wp_capabilities
meta_value
: 插入这个:a:1:{s:13:"administrator";s:1:"1";}
之后,当您向下滚动时,您应该找到第二行的字段。您需要添加以下信息:
unmeta_id
:将此留空(它将自动生成)user_id
:您在前面步骤中使用的用户 IDmeta_key
: 你需要输入wp_user_level
meta_value
: 10
在字段中输入信息后,您需要单击“开始”按钮。恭喜,您已经创建了新的管理员用户名!
现在,您应该能够使用为此用户指定的用户名和密码登录WordPress 管理区域。
登录后,您需要导航到“用户”»“所有用户”,然后单击您刚刚创建的用户名。
现在,无需更改任何内容,滚动到页面底部并单击“保存”按钮。
这将允许 WordPress 清理您刚刚创建的用户并添加一些所需的额外信息。
使用 SQL 查询将管理员用户添加到 WordPress 数据库
如果您是开发人员,那么您可以使用代码加快该过程。
只需将此 SQL 查询放入您的数据库即可:
1234567 | INSERT INTO `databasename`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ( '3' , 'demo' , MD5( 'demo' ), 'Your Name' , 'test@example.com' , 'http://www.example.com/' , '2022-09-01 00:00:00' , '' , '0' , 'Your Name' ); INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES ( NULL , '3' , 'wp_capabilities' , 'a:1:{s:13:"administrator";s:1:"1";}' ); INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES ( NULL , '3' , 'wp_user_level' , '10' ); |
由
确保将“databasename”更改为您正在使用的数据库。
另外,不要忘记将其他值更改为您想要为新用户提供的值,正如我们在第一种方法中所解释的那样。
我们希望本教程能帮助您了解如何通过 MySQL 将管理员用户添加到 WordPress 数据库。您可能还想查看我们的终极 WordPress 安全指南或常见 WordPress 错误列表以及如何修复它们。