您是否被锁定在您的 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: 设置为 0
display_name:用户的全名或显示名
完成后,请确保单击“开始”按钮以存储新用户。
将用户添加到 wp_usermeta 表
现在您需要找到该wp_usermeta表并单击它。之后,您应该像在上一步中一样单击“插入”选项卡。
接下来,您需要将以下信息添加到插入表单:
unmeta_id:将此留空(它将自动生成)
user_id:您在上一步中使用的用户 ID
meta_key: 这应该是wp_capabilities
meta_value: 插入这个:a:1:{s:13:”administrator”;s:1:”1″;}
之后,当您向下滚动时,您应该会找到第二行的字段。您需要添加以下信息:
unmeta_id:将此留空(它将自动生成)
user_id:您在前面的步骤中使用的用户 ID
meta_key: 你需要输入wp_user_level
meta_value: 10
当您在字段中输入完信息后,您需要单击“开始”按钮。恭喜,您已经创建了一个新的管理员用户名。
现在您应该可以使用您为该用户指定的用户名和密码登录到您的 WordPress 管理区域。
登录后,您需要导航到Users » All Users,然后单击您刚刚创建的用户名。
现在,无需更改任何内容,滚动到页面底部并单击“保存”按钮。
这将允许 WordPress 清理您刚刚创建的用户并添加一些需要的信息。
使用 SQL 查询将管理员用户添加到 WordPress 数据库
如果您是开发人员,那么您可以使用代码加快流程。
只需将此 SQL 查询放入您的数据库:
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’, ‘[email protected]’, ‘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’);
确保将“数据库名称”更改为您正在使用的数据库。另外,不要忘记将其他值更改为新用户所需的值,正如我们在第一种方法中解释的那样。
我们希望本教程帮助您了解如何通过 MySQL 将管理员用户添加到 WordPress 数据库。您可能还想查看我们的终极 WordPress 安全指南,或查看我们的常见 WordPress 错误列表以及如何修复它们。