首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL utf8mb4迁移-复制注意事项

MySQL utf8mb4迁移-复制注意事项
EN

Database Administration用户
提问于 2019-02-19 17:48:01
回答 1查看 438关注 0票数 1

我们计划将MySQL数据库与混合utf8latin1表迁移到本文中的新的utf8mb4字符集:https://mathiasbynens.be/notes/mysql-utf8mb4

我们的服务器为5.7.22,活动数据库有数百个InnoDB表,大小为几GB,并且是在主/从复制中设置的。我已经成功地在测试服务器上的数据库副本上运行了转换脚本。大约需要3个小时才能完成。

我们正在为这个更新计划一个维护窗口-来自我们的应用程序的所有更新/查询将在此过程中被暂停。

我对此不太确定,因为我一直在阅读关于MySQL 8升级的文章(这是一个单独的、未来的项目),MySQL提到了执行大型操作,需要在复制禁用的情况下重新构建表:https://dev.mysql.com/doc/refman/8.0/en/replication-upgrade.html。但是,这可能只与版本8升级相关,而我们并不是同时进行升级。谢谢。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2019-02-19 18:22:36

首先,确保没有混淆任何latin1列。找到一个重音字母并执行SELECT HEX(col) ... --任何重音字母都应该显示为2个字节。例如,é是latin1十六进制E9和utf8mb4十六进制C3A9

如果您看到C383C2A9,您就有了“双重编码”,现在您需要担心这个问题。

至于主人/奴隶..。

如果是大师(为了便于失败),那么考虑一次只做一次,从而避免超过短暂的停机时间(故障转移)。确保使用SET禁用会话的复制。

你在用ALTER TABLE ... CONVERT TO CHARACTER SET ...吗?(这可能是执行转换的唯一有效方法。)

有了主从和大量的停机时间,ALTER可以简单地进行复制.

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/230161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档