wordpress修改数据库前缀

文章目录

         我们在虚拟服务器上搭建wordpress站点时,默认的数据库前缀是:“wp_”。有时候我们因为某些原因(主要是安全考虑)要修改,怎么操作?这里主要介绍已经在使用站点之后怎么修改。(纯代码操作,操作之前请提前做好数据库备份工作)

本文主要参考了【CosHall的博客】【张戈的专栏——解决WordPress修改数据库表前缀后无法登陆的问题】整理,如有侵权,请留言联系删除!


首先、在wp-config.php中修改数据库前缀       

        用vi编辑器打开wordpress目录中wp-config.php,查找 $table_prefix = 'wp_';将数据库前缀修改你自己的比如:abc_     $table_prefix = 'abc_';

 

登录数据库,查看wordpress用的数据库里的表,然后修改所有表的前缀

    

 

 

 

 

 

 

然后依次执行以下命令:
RENAME table `wp_commentmeta` TO `abc_commentmeta`;
RENAME table `wp_comments` TO `abc_comments`;
RENAME table `wp_gglcptch_whitelist` TO `abc_gglcptch_whitelist
RENAME table `wp_links` TO `abc_links`;
RENAME table `wp_options` TO `abc_options`;
RENAME table `wp_postmeta` TO `abc_postmeta`;
RENAME table `wp_posts` TO `abc_posts`;
RENAME table `wp_terms` TO `abc_terms`;
RENAME table `wp_term_relationships` TO `abc_term_relationships`;
RENAME table `wp_term_taxonomy` TO `abc_term_taxonomy`;
RENAME table `wp_termmeta` TO `abc_wp_termmeta`;
RENAME table `wp_usermeta` TO `abc_usermeta`;
RENAME table `wp_users` TO `abc_users`;

修改 Options 表中的数据(假设前缀是abc_)

接下来将abc_options表中的optionname字段值修改为abc_user_roles的栏位,改为与你修改后的前缀。直接执行以下代码:

update `abc_options` set `option_name` = replace(`option_name`, 'wp_user_roles', 'abc_user_roles') where instr(`option_name`,'wp_user_roles') > 0;
或者
SELECT REPLACE(option_name, 'wp_', 'abc_') FROM abc_options;

修改 UserMeta 表中的数据(假设前缀是abc_)

将abc_usermeta 表“meta-key”字段中有旧前缀”wp_”的值,更为新的前缀”abc_”就 OK。代码如下:
update `abc_usermeta` set `meta_key`= replace(`meta_key`,'wp_','abc_') WHERE `meta_key` like "%wp_%";
或者
SELECT REPLACE(meta_key, 'wp_', 'abc_') FROM abc_usermeta;
到此整个修改数据库前缀的工作就完成了。