WordPress数据表前缀的修改方法(完整版)
修改WordPress数据库表前缀主要分两步一是确认WordPress程序新前缀是什么二是把数据库里所有相关的地方都改成新前缀。这是个需要谨慎操作的任务不过按步骤来并不复杂。第一步准备工作(至关重要!)在对数据库动手前务必备份。一旦操作失误备份是唯一的救命稻草。备份数据库通过你主机的phpMyAdmin或管理面板将整个数据库导出为.sql文件。考虑使用测试环境如果条件允许先在测试网站(Staging环境)上练习一遍。第二步修改 wp-config.php 文件这一步是告诉WordPress我们将使用一个新的表前缀。你需要通过FTP或主机文件管理器找到网站根目录下的wp-config.php文件进行编辑。找到定义数据表前缀的那行代码默认是$table_prefix wp_;将wp_修改为你想要的新前缀例如new_或更复杂的wp2026_等$table_prefix new_;保存文件。注意完成这一步后先不要刷新网站前台因为数据库里的表名和程序引用的还是旧前缀这时刷新会导致网站报错。第三步批量重命名数据库表接下来需要将所有以wp_开头的表批量重命名为以new_开头。你可以选择手动操作或使用工具。方案A使用phpMyAdmin的图形化功能(推荐)这个方法最简单适合不熟悉SQL命令的用户。登录你的主机控制面板打开phpMyAdmin并选择你的WordPress数据库。在左侧点击数据库名右侧会列出所有数据表。勾选所有以wp_开头的表(可以全选或点击“全选”按钮)。在底部的“选中项”下拉菜单中选择“修改表前缀”或“Replace table prefix”。在弹出的窗口中From 填写旧前缀wp_To 填写新前缀new_点击“执行”或“Go”phpMyAdmin会自动完成所有表的批量重命名。方案B手动执行SQL命令如果你习惯用SQL可以点击phpMyAdmin的“SQL”选项卡手动运行重命名命令。不过对于有几十上百个表的网站手工输入效率很低这里更推荐使用在线工具一键生成所有SQL。例如可以使用我爱水煮鱼提供的免费工具「WordPress 数据库表前缀修改器」。输入新旧前缀它会生成所有RENAME TABLE命令你只需复制到SQL执行窗口即可。注意执行前务必备份数据库。第四步更新表中的存储数据(关键一步)只改表名是不够的。WordPress的一些核心表(如wp_options和wp_usermeta)中也存储了带有旧前缀的数据引用需要一并更新。仍然在phpMyAdmin的“SQL”选项卡中执行以下查询(请务必将 new_ 替换为你自己的新前缀wp_ 替换为旧前缀)-- 更新 options 表 UPDATE new_options SET option_name REPLACE(option_name, wp_, new_) WHERE option_name LIKE wp_%; -- 更新 usermeta 表 UPDATE new_usermeta SET meta_key REPLACE(meta_key, wp_, new_) WHERE meta_key LIKE wp_%;执行成功后表内的数据引用也更新为新前缀了。两种SQL更新方式的区别REPLACE函数上面示例采用的。它会替换字段里所有出现的wp_适用性广是WordPress官方文档推荐的方法。SUBSTRING/CONCAT函数更精确只替换开头的wp_。如果你担心插件创建了包含wp_的键名(如my_plugin_wp_key)被误改可以用这种方法。它会变成my_plugin_new_key而REPLACE会变成my_new_plugin_key。第五步验证与清理登录后台访问你的WordPress管理后台(/wp-admin)用管理员账号登录。检查网站浏览网站首页、内页检查文章、用户、插件配置等是否都正常。清理缓存如果使用了缓存插件或服务器缓存记得清空。注意事项关于安全性修改默认前缀(wp_)是增加安全性的一种方式能让针对默认表名的SQL注入攻击更难成功。但它只是一道防线全面的安全策略(强密码、更新、安全插件)更为重要。关于多站点(Multisite)如果你的WordPress是多站点网络除了主表每个子站点还有独立的表(如wp_2_options)都需要执行同样的重命名和SQL更新操作。此外还需要更新wp_blogs等网络级表操作更复杂建议专业人士协助。原文http://wordpress.zj.cn/jiaocheng/69.html