本人初次使用WordPress的时候采用了默认的wp_表前缀,后面了解到默认表前缀会降低网站安全性,便在网上找教程更改,但是更改后会导致后台无法登陆。在这里记录一个解决修改数据库表前缀后无法登陆后台的解决方案。

备份数据库

必须且一定要备份数据库,避免操作中翻车,还能补救。

更改WordPress配置文件

打开根目录下的wp-config.php文件,把里面的 wp_ 改为 new_ (这里用new_做示例)。

更改前:

$table_prefix = 'wp_';

更改后:

$table_prefix = 'new_';

进入数据库修改表前缀

宝塔后台进入数据库管理phpmyadmin。代码修改放法和手动修改方法法二选一。

手动方法修改表前缀

  1. 全选所有表格,点击「选中项」,选择「修改表前缀」。
  2. 按图操作替换表前缀,执行即可。

代码方法修改表前缀

ALTER TABLE wp_commentmeta RENAME TO new_commentmeta;
ALTER TABLE wp_comments RENAME TO new_comments;
ALTER TABLE wp_options RENAME TO new_options;
ALTER TABLE wp_posts RENAME TO new_posts;
ALTER TABLE wp_postmeta RENAME TO new_postmeta;
ALTER TABLE wp_users RENAME TO new_users;
ALTER TABLE wp_usermeta RENAME TO new_usermeta;
ALTER TABLE wp_links RENAME TO new_links;
ALTER TABLE wp_terms RENAME TO new_terms;
ALTER TABLE wp_term_taxonomy RENAME TO new_term_taxonomy;
ALTER TABLE wp_term_relationships RENAME TO new_term_relationships;
/*PS:其中new就是新的数据表前缀,可自行更改,请勿复制此行到SQL命令执行*/

后台登录解决

前面步骤执行完成后,前台进入正常,但是后台管理员无法登陆,或者登陆后直接进入前台页面。还需要执行以下命令。

update new_options set option_name = replace(option_name,'wp_user_roles','new_user_roles');
update new_usermeta set meta_key = replace(meta_key,'wp_capabilities','new_capabilities');
update new_usermeta set meta_key = replace(meta_key,'wp_user_level','new_user_level');
update new_usermeta set meta_key = replace(meta_key,'wp_capabilities','new_user-settings');
update new_usermeta set meta_key = replace(meta_key,'wp_user_level','new_user-settings-time');
update new_usermeta set meta_key = replace(meta_key,'wp_user_level','new_dashboard_quick_press_last_post_id');
/*PS:要把new换成你自己的数据表前缀,请勿复制此行到SQL命令执行*/

执行后即可正常登录后台。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。