如何在不影响生产性能的情况下向超过10 GB的innodb mysql表中添加新列?

如何在不影响生产性能的情况下向超过10 GB的innodb mysql表中添加新列?,mysql,innodb,database-deadlocks,Mysql,Innodb,Database Deadlocks,我直接尝试向一个超过10GB的innodb mysql表添加3个新列,该表在线提供(读/写)服务 我只是像往常一样使用了更改表xxx添加列yyy… 由于数据量大,更改操作非常耗时(超过10分钟) 问题似乎是它锁定了整张桌子,这样它就不能在改变的同时提供服务 我使用的是mysql-5.6.14,它声明支持ADD在线操作 这是一个普遍的问题吗 或 我做错什么了吗?我看不出哪里出了问题。建议您在bugs.mysql.com上提交一个bug 同时,您可以使用pt-online-schema-change

我直接尝试向一个超过10GB的innodb mysql表添加3个新列,该表在线提供(读/写)服务

我只是像往常一样使用了
更改表xxx添加列yyy…

由于数据量大,更改操作非常耗时(超过10分钟)

问题似乎是它锁定了整张桌子,这样它就不能在改变的同时提供服务

我使用的是mysql-5.6.14,它声明支持
ADD
在线操作

这是一个普遍的问题吗


我做错什么了吗?

我看不出哪里出了问题。建议您在bugs.mysql.com上提交一个bug

同时,您可以使用
pt-online-schema-change
进行更改,几乎没有停机时间


您是否要添加auto inc专栏?

@Abs,恐怕没有什么帮助。我实际上遇到了锁表问题,但我不知道为什么。此外,我不能忍受任何停工。谢谢。我尝试了
pt联机模式更改
。但是我在/usr/bin/pt-online-schema-change第4224行,第1行得到一个
您没有进程权限。
错误。你能帮我解决这个问题吗?你是以MySQL的root用户身份运行的吗?对。我试着以root用户的身份运行。它起作用了
pt在线模式更改
似乎很有帮助。谢谢。事实上,没有。新专栏不是增量的。
    Concurrent DML is not allowed when adding an auto-increment column.