首页 文章

改变一个700 gb的大型mysql表

提问于
浏览
6

我想改变的 生产环境 表大约是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 回答

  • 0

    这是关于online DDL的官方文档的链接

    它就位,不需要复制表 . 我刚刚在sysbench测试期间删除了FK(顺便说一句,随意在本地5.6安装上重现测试)

相关问题