如何在不影响生产性能的情况下向超过 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 进行更改,几乎无需停机。

来自https://dev.mysql.com/doc/refman/5.6/en/innodb-create-index-overview.html#innodb-online-ddl-summary-grid

    Concurrent DML is not allowed when adding an auto-increment column. 

您要添加 auto inc 列吗?