更改现有WordPresss站点的表前缀

时间:2015-08-04 作者:tonyf

希望有人能为已经建立的网站提供Wordpress表前缀帮助。

在DB和wp config文件中更改现有表前缀以反映新表前缀的最佳方法是什么。

实际上,这更多的是需要对后端数据库进行更改。

是否有一个像样的插件,或者有人可以告诉我所需的手动步骤。只是担心我可能会引起DB的问题。

谢谢

3 个回复
SO网友:Matt van Andel

这很简单。您可以使用phpMyAdminMySQL Workbench 一次更改所有表上的前缀,也可以使用SequelPro之类的工具一次更改一次。如果需要手动运行SQL,语法为…

RENAME TABLE `old_name` TO `new_name`;
更新所有表名后,只需更新$table_prefix 在您的wp-config.php 以匹配新前缀。

SO网友:RMS

您不应该手动(SQL)或使用插件来执行此操作。这是可能的,但相当危险。

因为有一些WordPress核心表(如wp_options) 通常引用自定义表(即插件表)。此外,这些核心表中的一些数据通常是序列化的(具有固定的长度和位置),这意味着即使手动更改它们也会导致错误的安装。

您应该尝试使用像WP-CLI这样的工具。这确实完成了这项工作,因为它考虑了序列化数据,并解析了所有数据库。

SO网友:ghanshyam v

使用此插件:https://wordpress.org/plugins/change-table-prefix/

共有11个默认WordPress表,因此手动更改它们会很痛苦。

SQL查询

这就是为什么要加快速度,我们有一个SQL查询,您可以使用它。

重命名表格wp_commentmetawp_a123456_commentmeta;重命名表格wp_commentswp_a123456_comments;重命名表格wp_linkswp_a123456_links;重命名表格wp_optionswp_a123456_options;重命名表格wp_postmetawp_a123456_postmeta;重命名表格wp_postswp_a123456_posts;重命名表格wp_termswp_a123456_terms;重命名表格wp_termmetawp_a123456_termmeta;重命名表格wp_term_relationshipswp_a123456_term_relationships;重命名表格wp_term_taxonomywp_a123456_term_taxonomy;重命名表格wp_usermetawp_a123456_usermeta;重命名表格wp_userswp_a123456_users;

您可能需要为其他插件添加行,这些插件可能会在WordPress数据库中添加自己的表。其思想是将所有表的前缀更改为所需的前缀。选项表

我们需要在选项表中搜索使用wp\\uu作为前缀的任何其他字段,以便替换它们。要简化此过程,请使用以下查询:

选择*自wp_a123456_options 哪里option_name 类似于\'\'%wp\\u%\'

这将返回大量结果,您需要逐一更改这些行。UserMeta表

接下来,我们需要在usermeta中搜索所有使用wp\\uu作为前缀的字段,以便替换它。使用以下SQL查询:

选择*自wp_a123456_usermeta 哪里meta_key 类似于\'\'%wp\\u%\'

条目数量可能因您使用的插件数量等而异。只需将所有包含wp\\u0的内容更改为新前缀即可。

结束

相关推荐

Wordpress login security

我已经在我的wp登录页面上设置了一个日志脚本。我注意到一个特定的ip地址——193.176.147.7一直在访问我的登录页面。葡萄球菌病总是快速连续,3次发作。这是我的插件在挂起ip之前允许的失败尝试数。我应该担心吗?我能采取什么预防措施吗?例如,阻止特定IP将有所帮助,或者我应该阻止某些范围的IP吗?我做了一个whatismyip。com查找,但他们没有任何信息。更改我的wp登录名。php对其他东西有帮助吗?