我想改变的生产表大约是700 Gb。我想从该表中删除FK。 Mysql版本是5.1.61-log。
我找到了以下选项:
pt-online-schema-change:改变表的结构而不阻止读取或写入。这在改变时间方面看起来最有效。这还可以通过将表副本分成块来处理服务器负载,并在服务器上出现高负载时暂停数据复制过程。
工具的唯一问题是服务器上的可用空间是450 GB,并且没有其他驱动器的空间。此工具适用于表格的副本,大约700 GB。
升级到Mysql 5.6:使用5.6的ONLINE DDL功能,大多数ALTER类型不会阻止对正在更改的表的写入。它还支持添加/删除外键约束,而无需全表复制。
但我不确定如何处理服务器负载以及需要多长时间进行更改。
还有其他选项,例如pt-online-schema-change,它不需要复制表吗? 有关Mysql 5.6的ONLINE DDL的任何经验/评论吗?
提前致谢!
答案 0 :(得分:0)
以下是有关online DDL
的官方文档的链接它就位,不需要复制表。我刚刚在sysbench测试期间删除了FK(顺便说一句,随意在本地5.6安装上重现测试)