我们知道 WordPress 的数据库表,可以设置前缀,默认是 wp_,很多小伙伴们也就默认用了 wp_,如果某种原因(比如提高安全性)要修改的 WordPress 数据的前缀,我们应该怎么做?
开始之前
修改数据是一件风险很高的工作,开始之前必然就是做好数据库备份
在 wp-config.php 修改数据库前缀
打开你的 wp-config.php 文件,把数据库前缀 wp_ 改成你想要的前缀,比如 wp_a123456_
- $table_prefix = 'wp_a123456_';
修改数据表名字
打开 PHPMySQL,找到你的数据库,然后执行以下 SQL,把所有数据库表前缀从 wp_ 改成 wp_a123456_
- RENAME table `wp_commentmeta` TO `wp_a123456_commentmeta`;
- RENAME table `wp_comments` TO `wp_a123456_comments`;
- RENAME table `wp_links` TO `wp_a123456_links`;
- RENAME table `wp_options` TO `wp_a123456_options`;
- RENAME table `wp_postmeta` TO `wp_a123456_postmeta`;
- RENAME table `wp_posts` TO `wp_a123456_posts`;
- RENAME table `wp_terms` TO `wp_a123456_terms`;
- RENAME table `wp_termmeta` TO `wp_a123456_termmeta`;
- RENAME table `wp_term_relationships` TO `wp_a123456_term_relationships`;
- RENAME table `wp_term_taxonomy` TO `wp_a123456_term_taxonomy`;
- RENAME table `wp_usermeta` TO `wp_a123456_usermeta`;
- RENAME table `wp_users` TO `wp_a123456_users`;
修改 Options 表中的数据
使用下面语句把 options 表中的 option_name 以 wp_ 开头的值改成 wp_a123456_开头。
- SELECT REPLACE(option_name, 'wp_', 'wp_a123456_') FROM wp_a123456_options;
修改 UserMeta 表中的数据
使用下面语句把 UserMeta 表中的 meta_key 以 wp_ 开头的值改成 wp_a123456_ 开头。
- SELECT REPLACE(meta_key, 'wp_', 'wp_a123456_') FROM wp_a123456_usermeta;