因缺失wp_user表无法访问自有WordPress网站,求解决办法
恢复缺失wp_user表的WordPress站点访问权限
手动创建wp_user表并添加管理员用户
- 登录数据库管理工具(如phpMyAdmin、主机提供的数据库控制台),定位到当前WordPress对应的数据库
- 执行以下SQL创建标准
wp_users表(注意替换表前缀为你的实际前缀,比如自定义的wp_xxx_):
CREATE TABLE `wp_users` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_login` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `user_pass` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `user_nicename` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `user_email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `user_url` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `user_registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `user_activation_key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `user_status` int(11) NOT NULL DEFAULT 0, `display_name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', PRIMARY KEY (`ID`), KEY `user_login_key` (`user_login`), KEY `user_nicename` (`user_nicename`), KEY `user_email` (`user_email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
- 生成WordPress兼容的密码哈希(可通过WordPress官方密码生成逻辑或在线哈希工具获取),执行以下SQL添加管理员用户(替换占位符为你的信息):
INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_registered`, `display_name`) VALUES ('your_username', '$P$Bxxxxxxxxx', 'your-username', 'your@email.com', '2024-05-20 00:00:00', 'Your Display Name');
- 给新用户分配管理员权限,执行以下SQL(同样替换表前缀):
INSERT INTO `wp_usermeta` (`user_id`, `meta_key`, `meta_value`) VALUES ((SELECT ID FROM wp_users WHERE user_login = 'your_username'), 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}'), ((SELECT ID FROM wp_users WHERE user_login = 'your_username'), 'wp_user_level', '10');
等待Namecheap备份的注意事项
- 收到回复后,优先验证备份中的
wp_users和wp_usermeta表是否完整,这两个表是用户权限体系的核心 - 若备份完整,恢复前务必备份当前数据库状态,避免丢失已做的修改
内容的提问来源于stack exchange,提问作者Visi Productions
相关产品推荐
相关产品推荐

