WordPress 数据库就像是整个WordPress 网站的大脑,因为每一条信息都存储在那里,从而使其成为黑客最喜欢的目标。垃圾邮件发送者和黑客运行 SQL 注入的自动化代码。不幸的是,很多人在安装 WordPress时忘记更改数据库前缀。这使黑客更容易通过针对默认前缀wp_来计划大规模攻击。保护数据库的最明智的方法是更改数据库前缀,这在您正在设置的站点上非常容易做到。但是需要几个步骤才能为您已建立的站点正确更改 WordPress 数据库前缀,以至于不会出现其他的网站数据库方面的报错
准备
我们建议您在执行本教程中建议的任何操作之前备份您的 WordPress 数据库。保持站点的每日备份很重要,我们建议使用BackupBuddy插件来做到这一点。我们建议您将访问者重定向到临时维护页面。推荐阅读:《如何修复在WordPress 中建立数据库连接的错误》
在 wp-config.php 中更改表前缀
打开位于 WordPress 根目录中的 wp-config.php 文件。将表前缀行从wp_更改为类似wp_a123456_ 的其他内容
打开wp-config.php文件后,您可以这样进行更改:
$table_prefix = ‘wp_a123456_’;
注意:您只能将其更改为数字、字母和下划线。
更改所有数据库表名称
您需要访问您的数据库(很可能通过phpMyAdmin进行),然后将表名更改为我们在 wp-config.php 文件中指定的名称。如果您使用的是cPanel WordPress 主机,那么您可以在 cPanel 中找到 phpMyAdmin 链接。推荐阅读:《为什么WordPress如此受欢迎?5 个让它如此出色的功能》
总共有 11 个默认的 WordPress 表,因此手动更改它们会很麻烦。
为了更快的进行更改,我们有一个您可以使用的 SQL 执行语句。
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`;
您可能需要为其他插件添加列,这些插件可能会在 WordPress 数据库中添加自己的表。您可以将所有表的前缀更改为您想要的。
选项表
我们需要在选项表中搜索使用 wp_ 作为前缀的任何其他字段,以便我们可以替换它们。为了简化这个过程,请使用以下SQL执行语句:
SELECT * FROM `wp_a123456_options` WHERE `option_name` LIKE ‘%wp_%’
这样会返回很多结果,需要一一去修改这些行。
用户表
接下来,我们需要在 usermeta 中搜索所有使用 wp_ 作为前缀的字段,以便我们可以替换它。为此使用此 SQL 语句:
SELECT * FROM `wp_a123456_usermeta` WHERE `meta_key` LIKE ‘%wp_%’
条目数量可能因您使用的插件数量等而异。只需将具有 wp_ 的所有内容更改为新前缀即可。
如果您现在已准备好测试站点。您就可以按照上述步骤操作。按照上述步骤完成后,为了安全起见,您应该对数据库进行新的备份。推荐相关阅读:《适合主机分销商账户的三个WordPress主题》