我们知道 WordPress 的数据库表,可以设置前缀,默认是 wp,很多同学也就默认用了 wp,如果某种原因(比如提高安全性)要修改的 WordPress 数据的前缀,我们应该怎么做?

开始之前

修改数据是一件风险很高的工作,开始之前必然就是做好数据库备份:

注:以下方法可能不够完整和准确,建议安装 Change Table Prefix 插件来更改前缀,非常简单!

在 wp-config.php 修改数据库前缀
打开你的 wp-config.php 文件,把数据库前缀 wp 改成你想要的前缀,比如 wpdx
$tableprefix = ‘wpdx‘;

修改数据表名字

打开 PHPMySQL,找到你的数据库,然后执行以下 SQL,把所有数据库表前缀从 wp 改成 wpdx

  1. RENAME table 'wp_commentmeta' TO 'wpdx_commentmeta';
  2. RENAME table 'wp_comments' TO 'wpdx_comments';
  3. RENAME table 'wp_links' TO 'wpdx_links';
  4. RENAME table 'wp_options' TO 'wpdx_options';
  5. RENAME table 'wp_postmeta' TO 'wpdx_postmeta';
  6. RENAME table 'wp_posts' TO 'wpdx_posts';
  7. RENAME table 'wp_terms' TO 'wpdx_terms';
  8. RENAME table 'wp_term_relationships' TO 'wpdx_term_relationships';
  9. RENAME table 'wp_term_taxonomy' TO 'wpdx_term_taxonomy';
  10. RENAME table 'wp_usermeta' TO 'wpdx_usermeta';
  11. RENAME table 'wp_users' TO 'wpdx_users';

修改 Options 表中的数据

使用下面语句把 options 表中的 optionname 以 wp 开头的值改成 wpdx_ 开头。

  1. SELECT REPLACE(option_name, 'wp_', 'wpdx_') FROM wpdx_options;

修改 UserMeta 表中的数据

使用下面语句把 UserMeta 表中的 metakey 以 wp 开头的值改成 wpdx_ 开头。

  1. SELECT REPLACE(meta_key, 'wp_', 'wpdx_') FROM wpdx_usermeta;

搞定,收工!