出于安全考虑,我想把wordpress默认的表前缀wp_改了,在这过程中遇到许多问题,经过一番谷歌搜索递归学习终于弄好了,记录下来

假设旧前缀为wp_,新前缀为sss_

进入wordpress所在数据库,查看都有哪些表

show tabels;

将数据库中所有的表前缀都改掉
例如:

RENAME table `wp_commentmeta` TO `sss_commentmeta`;

然后改完之后我发现我上不去我的网站了,后来发现我没有改wp-config.php

修改wp-config.php文件中的数据表前缀

$table_prefix  = 'wp_'; #将wp_改为sss_

好了,终于可以登上我的网站了,然后。。。。

我发现我可以登录,但是不能登录后台。

我去!好吧,开始谷歌

发现光改表前缀还不行,还要改几个字段的前缀

SELECT REPLACE(option_name, 'wp_', 'sss_') FROM sss_options;
SELECT REPLACE(meta_key, 'wp_', 'sss_') FROM sss_usermeta;

改完了发现还是不行,于是接着谷歌,发现表sss_options里面有个wp_user_roles要改为sss_user_roles。

然后问题来了,我不知道sql语句怎么写。。。

好吧只能拿phpmyadmin改了,下载安装phpmyadmin,下载好了之后需要修改配置

sudo vim /etc/httpd/conf.d/phpMyAdmin.conf

把带有Require ip xxxx字样的代码注释掉,然后添加Require all granted
编辑后如下:


   AddDefaultCharset UTF-8
   
     # Apache 2.4
     
      # Require ip 127.0.0.1  #注释掉
      # Require ip ::1   #注释掉
      Require all granted   #新添加
     
 
 
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   


   
     # Apache 2.4
     
      #Require ip 127.0.0.1  #注释掉
      #Require ip ::1   #注释掉
      Require all granted   #新添加
     
   
   
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   

登陆ip/phpmyadmin,登陆数据库傻瓜操作,修改完成。现在网站后台已经可以正常登陆了。

我的问题到这里就已经解决,再补充几个网上找的:

  1. ooxx_usermeta:把里面的 wp_capabilities, wp_user_level, wp_user-settings, wp_user-settings-time, and wp_dashboard_quick_press_last_post_id 字段名的 wp_ 全部改为 ooxx_
  2. 另外确保 ooxx_usermeta 表里面的 ooxx_capabilities 和 ooxx_user_level 的值如下
    ooxx_capabilities should be a:1:{s:13:"administrator";s:1:"1";}
    ooxx_user_level should be 10

"Imagination will take you everywhere."