如何在不影响生产性能的情况下向超过 10 GB 的 innodb mysql table 添加新列?
How to add new columns to over 10 GB innodb mysql table without affecting production performance?
我直接尝试向 innodb mysql table 添加 3 个新列,它超过 10GB 并且在线服务 (read/write)。
我只是像往常一样使用ALTER TABLE xxx add column yyy ...
。
由于数据量大,修改操作非常耗时(10多分钟)。
问题好像是锁了整个table,所以修改的时候不能服务
我用的是mysql-5.6.14,声明支持ADD
在线操作
这是一个常见问题吗?
或
我是不是做错了什么?
我看不出哪里出了问题。建议您在 bugs.mysql.com.
提交错误
与此同时,您可以使用 pt-online-schema-change
进行更改,几乎无需停机。
Concurrent DML is not allowed when adding an auto-increment column.
您要添加 auto inc 列吗?
我直接尝试向 innodb mysql table 添加 3 个新列,它超过 10GB 并且在线服务 (read/write)。
我只是像往常一样使用ALTER TABLE xxx add column yyy ...
。
由于数据量大,修改操作非常耗时(10多分钟)。
问题好像是锁了整个table,所以修改的时候不能服务
我用的是mysql-5.6.14,声明支持ADD
在线操作
这是一个常见问题吗?
或
我是不是做错了什么?
我看不出哪里出了问题。建议您在 bugs.mysql.com.
提交错误与此同时,您可以使用 pt-online-schema-change
进行更改,几乎无需停机。
Concurrent DML is not allowed when adding an auto-increment column.
您要添加 auto inc 列吗?