废话不多说直接上实操
注意以下操作都是基于我从wp_更换成3wp_的教程
第一步:找到WordPress网站的根目录,找到 wp-config.php文件,修改链接数据库的表头数据以及记住自己的数据库名称



第二步:进入对应网址数据库,并执行下面的sql命令
SELECT CONCAT(‘RENAME TABLE `’, table_name, ‘` TO `’, REPLACE(table_name, ‘wp_’, ‘3wp_’), ‘`;’)
FROM information_schema.tables
WHERE table_schema = ‘your_database_name’ AND table_name LIKE ‘wp_%’;
注意:your_database_name更换成第一步里面自己的数据库名称
执行后,您会得到类似下方的结果。全选并复制这些生成的SQL语句
RENAME TABLE `wp_commentmeta` TO `3wp_commentmeta`;
RENAME TABLE `wp_comments` TO `3wp_comments`;
…
回到SQL命令执行窗口,将复制的内容粘贴进去并执行。这样,所有表的前缀就会被一次性更改
注意:如果复制不完整,可以点击设置显示全部就可以复制完成
第三步:WordPress在 wp_options和 wp_usermeta这两个表中,也以“选项(option)”或“元数据(meta)”的形式存储了一些旧前缀的引用,这些也必须更新
在SQL执行窗口中,依次运行以下两条命令(表名已自动变为新前缀)
UPDATE `3wp_options` SET option_name = REPLACE(option_name, ‘wp_’, ‘3wp_’) WHERE option_name LIKE ‘wp_%’;
UPDATE `3wp_usermeta` SET meta_key = REPLACE(meta_key, ‘wp_’, ‘3wp_’) WHERE meta_key LIKE ‘wp_%’;
到此基本就替换完毕了,如果网页可以正常访问,基本大功告成
如果到此,发现自己的管理员账号无法进入网址后台的话,可以检查插件或者其他的问题
不过这里提供一个终极解决办法
-
在WordPress网站的根目录(与 wp-config.php同一级),创建一个新的PHP文件,例如reset_roles.php。 -
将以下代码复制粘贴到这个文件中: - <?php
require(‘./wp-load.php’); // 引入WordPress核心环境
if ( ! function_exists( ‘populate_roles’ ) ) {
require_once( ABSPATH . ‘wp-admin/includes/schema.php’ );
}
populate_roles(); // 执行重置函数
echo “用户角色和权限已重置!请立即删除此文件。”;
?> - 在浏览器中访问这个文件,例如:
https://您的网站.com/reset_roles.php。 - 如果页面上显示成功信息,表示权限已经被重置。请务必立即从服务器上删除这个文件,因为它存在安全风险。
做完这个操作之后,管理员就可以恢复权限进入后台,至此由于redis加速导致的表头数据乱窜的问题就解决了
不过这个是纯粹是因为建站的时候没有区别开表头导致的,我的情况是搬站导致的同wp_表头导致的问题,希望对大家有所帮助






没有回复内容