关于redis加速导致数据库数据乱窜,批量修改数据库表头的小白教程,亲测-zibll教程分享社区-zibll子比主题-WordPress主题模板-zibll子比主题

关于redis加速导致数据库数据乱窜,批量修改数据库表头的小白教程,亲测

废话不多说直接上实操

注意以下操作都是基于我从wp_更换成3wp_的教程

第一步:找到WordPress网站的根目录,找到 wp-config.php文件,修改链接数据库的表头数据以及记住自己的数据库名称

20251207170310925-image-52

20251207170417205-image-53

20251207170507989-image-54

第二步:进入对应网址数据库,并执行下面的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_optionswp_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_表头导致的问题,希望对大家有所帮助

请登录后发表评论

    没有回复内容