重新启动4.2 utf8mb4数据库升级

时间:2015-07-20 作者:Joan

我在旧服务器上将WP更新为4.2,这与utf8mb4 upgrade requirements.

我已移动到符合这些要求的另一台服务器,但WP将不再启动此数据库升级:/WP admin/upgrade。php说Your WordPress database is already up-to-date. 我试着wp_post 手动将表转换为utf8mb4,但我的所有特殊字符都变为“�”.

有没有办法强制启动maybe_convert_table_to_utf8mb4 在一个简单的升级,而不失去我所有的特殊字符?

谢谢

3 个回复
最合适的回答,由SO网友:jerclarke 整理而成

我想你的问题现在的答案是“不”。

没有简单的方法可以触发maybe_convert_table_to_utf8mb4 在不符合本帖要求的服务器上升级到WP 4.3之后的站点上:

https://make.wordpress.org/core/2015/04/02/the-utf8mb4-upgrade/

注意,在查看WP源代码的基础上,他们似乎将其从4.2的更新顺序移动到了4.3(4.2中不再存在,现在根本没有升级),可能希望获得更多用户。

这就是你的答案,虽然很糟糕,但比其他答案更准确”_(ツ)_/\'\'

我们目前正在制作一个简单的脚本,让您能够基于动作挂钩触发升级序列的本质。如果我们可以让它稳定和工作,我们将尝试回来,并分享给其他人使用。

我们的基本计划是提取upgrade_430(), 将其与db更新系统隔离,并手动触发。

编辑:下面的解决方案

虽然没有简单的方法触发脚本,但这里有一个手动编码的解决方法,基于upgrade_430() 但设计为一个临时入住。

https://gist.github.com/carlalexander/4106cfaaf405cec454ba195631bcb6bc

你可以把它放在插件中,或者只是把它粘贴到你的函数中。php。不管怎样,这都应该是暂时的。

设置为在您访问时自动触发https://yoursite.com/?update-utf8bm4=1

这确保了它只运行一次,并且您可以选择何时运行(对于大型数据库,这可能需要一段时间,您不想让任何人在发布时编辑帖子)。

如果不想使用GET触发器,只需删除add_action 零件和if (!isset($_GET[\'update-utf8bm4\'])) 部分

再次声明:完成后删除此项,您不想留下这样的GET触发器:)

SO网友:Vanessa King

当然,如果不用说,在尝试任何操作之前先备份数据库,但您可以使用数据库的原始版本—我会尝试两件事:WordPress数据库修复和维护,以及phpMyAdmin的优化表:

这是来自这个页面,有很多信息WP Knowledgebase, 但您首先要将这一行添加到站点的wp配置中。php:

define(\'WP_ALLOW_REPAIR\', true);
然后转到http://yoursite.com/wp-admin/maint/repair.php

您应该看到一个包含两个选项的页面:“修复数据库”和“修复并优化数据库”

单击“修复并优化数据库”,并给脚本运行时间。一旦它们成功运行,您将收到更新消息,让您知道各个表的状态。

一旦运行完毕,very important, 删除刚才添加到wp config的wp\\U allow\\U repair行。php,将其从wp配置中删除。php文件。

如果这不起作用,您可以尝试phpMyAdmin的表优化,但如果WordPress没有帮助,也可能没有帮助。我会在上次修复的数据库的同一版本上进行尝试。

进入phpMyAdmin,选择您的数据库,滚动到页面底部,选中“全部检查”以选择数据库中的所有表,然后从旁边的选择菜单中选择“优化表”。就是这样,它会自动启动。

以下是更多详细信息和屏幕截图:WPMUDev

如果这两个步骤不能单独或一起工作,您可以尝试使用备份数据库的另一个副本以相反的顺序运行它们。。。祝你好运

SO网友:NoDiv_NoClass

是否尝试更改数据库表排序规则?请尝试以下操作:

登录到phpmyadmin>选择数据库>操作>立即将排序规则从下拉列表更改为“utf8mb4\\u unicode\\u ci”,或更改为旧服务器上使用的排序规则。

我希望这对你有用。

请参见屏幕截图:http://prntscr.com/8ip1ro/direct

请记住:如果您将sql文件从旧服务器导出到pc,并使用任何文本编辑器打开它。。。定制并保存。。然后请检查保存sql文件时文本编辑器的“编码”是否为Utf-8 .. 查看我的屏幕截图:http://prntscr.com/8ip2nr/direct

谢谢

结束

相关推荐

Share WordPress Database

WordPress安装是否必须使用专用数据库?我正在构建一个带有自定义页面的网站,可以访问MySQL数据库。但该网站还将安装WordPress。我可以为WordPress和自定义页面使用相同的唯一数据库吗?