如何在不影响生产性能的情况下向超过10 GB的innodb mysql表中添加新列?
我直接尝试向一个超过10GB的innodb mysql表添加3个新列,该表在线提供(读/写)服务 我只是像往常一样使用了如何在不影响生产性能的情况下向超过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
更改表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.