准备& WordPress .gz rRestoration的数据保存

时间:2012-11-10 17:14:58

标签: wordpress database-restore

我遇到了一个带有WordPress网站的“问题”(挑剔的客户端),我将从两个月前将其恢复到下载的.gz数据库。现在,在我的工作之后,我安装了一个新主题并创建了自定义帖子类型。新主题有许多自定义CSS设置,自定义帖子类型有许多文件。

由于我在新主题和自定义帖子类型存在之前正在对快照进行数据库还原,因此我有几个问题:

- 这会将所有设置恢复为当时的配置(一般,阅读,讨论)吗? - 稍后添加的插件是否会被停用? - 我猜这个新主题仍然存在,因为它的文件实际存在。新主题的任何设置是否会在数据库恢复时被删除,或者它们会保留,主题是否会被停用?

这是一个混乱的情况,我基本上想要恢复到八月,但如果可能的话,将我的工作存档在新主题和自定义帖子上。谢谢!

1 个答案:

答案 0 :(得分:0)

如果还原Wordpress数据库,则会将所有设置更改回备份时的状态。原因是wp_options可能包含您的主题选项,并且肯定包含大多数Wordpress设置菜单选项(永久链接,阅读等)。

稍后添加的插件将被停用 - wp_options中有一条名为active_plugins的记录,它是您的活动插件的数组。覆盖此值将禁用新插件,但只要它们位于/wp-content/plugins目录中,您就可以重新激活它们,尽管缺少设置。您的主题也是如此 - 只要文件存在就可以重新激活,但缺少的选项值将意味着设置已经消失。

现在寻找有用的东西。首先,在您做任何其他事情之前,一定要现在备份您的网站。一旦您有备份,而不是删除表等,您可以尝试重命名此架构,以便它不会发生冲突,然后将备份还原到包含原始名称的架构(一个Wordpress配置为现在使用)。在同一服务器上有两个模式,您现在可以运行查询来比较当前数据库值和已还原的数据库值,并在必要时插入它们。假设已恢复的模式名为restored,并且您当前的模式称为current,以下交叉方案查询将显示已还原模式中不存在的任何设置:

SELECT co.option_id, co.option_name, co.option_value, co.autoload  
FROM current.wp_options co
WHERE co.option_id NOT IN 
    (SELECT ro.option_id FROM restored.wp_options ro)

如果要将某些值集合复制到WHERE co.option_name LIKE 'key_%架构中,请添加一些restored类型的查询以提取某些值集。您可能希望以类似的方式查看wp_postmeta值,或者甚至比较ID /密钥存在的wp_options表中的值,但值不匹配以查看更改的内容

祝你好运!