如果因为系统升级、迁移、不当操作等导致丢失了WordPress的管理账户,可通过WordPress连接的MySQL数据库中直接添加一个管理员账户,你可以按照以下步骤操作:
进入 MySQL 数据库
使用命令行或 phpMyAdmin 连接到 WordPress 数据库。
如果使用命令行,先登录 MySQL:
mysql -u root -p
然后选择 WordPress 数据库:
USE wordpress_database_name;
请将 wordpress_database_name 替换为你的 WordPress 数据库名称。
插入管理员账户
执行以下 SQL 语句,在 wp_users 表中创建一个新用户:
INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`, `display_name`, `user_registered`)
VALUES ('newadmin', MD5('yourpassword'), 'New Admin', '[email protected]', 0, 'New Admin', NOW());
参数解释:
• user_login:登录用户名(如 newadmin)
• user_pass:密码(yourpassword),WordPress 使用 MD5 加密
• user_nicename:昵称
• user_email:电子邮件(请替换为你的邮箱)
• user_status:用户状态,0 表示正常
• display_name:显示名称
• user_registered:注册时间
记录新用户 ID
执行以下查询,获取刚插入用户的 ID:
SELECT ID FROM `wp_users` WHERE `user_login` = 'newadmin';
假设返回的 ID 是 100(实际值可能不同)。
赋予管理员角色
向 wp_usermeta 表中添加权限:
INSERT INTO `wp_usermeta` (`user_id`, `meta_key`, `meta_value`)
VALUES (100, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}');
INSERT INTO `wp_usermeta` (`user_id`, `meta_key`, `meta_value`)
VALUES (100, 'wp_user_level', '10');
注意:
• user_id:填入上一步查询得到的 ID。
• wp_capabilities:WordPress 使用序列化数据存储角色信息,administrator 表示管理员权限。
• wp_user_level:管理员级别为 10。
如果 WordPress 前缀不是 wp_,请修改 wp_users 和 wp_usermeta 的表名前缀。
重新登录 WordPress
访问 WordPress 后台 (yourwebsite.com/wp-admin),使用新账户 newadmin 和密码 yourpassword 登录,即可使用管理员权限。