mysql复制表与不同的字符集

时间:2014-11-06 18:29:48

标签: mysql

我们有mysql集群,包括master,slave和hot standby。有一张表有3000万条记录,表的字符集是utf8。我想将这些表的字符集更新为utf8mb4字符集,而不需要停机并且不会破坏复制。如果有任何方式可以执行此活动,请告诉我。提前致谢。

2 个答案:

答案 0 :(得分:1)

Percona为此提供了一个名为pt-online-schema-change的免费工具。

它的作用是在原始表上创建表的副本和一些触发器。在您的操作运行时,触发器会将数据复制到备份中。完成后,两个表以原子方式交换。没有停机时间,没有数据丢失。但请确保,您已经没有触发器了。

答案 1 :(得分:0)

查询将是

ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;