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