简体   繁体   中英

How to add new columns to over 10 GB innodb mysql table without affecting production performance?

I'm straightly trying to add 3 new columns to a innodb mysql table which is over 10GB and is serving (read/write) online.

I just used ALTER TABLE xxx add column yyy ... as usual.

Because of the large data scale, the altering operation is extremely time-consuming(over 10 minutes).

The problem seems to be that it locks the whole table, so that it can not serve while altering.

I'm using mysql-5.6.14, which declares to support ADD operation online.

Is it a common issue?

or

Am I doing something wrong?

I don't see what went wrong. Suggest you file a bug at bugs.mysql.com.

Meanwhile, you could use pt-online-schema-change to do the change with virtually no downtime.

From 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. 

Are you adding an auto inc column?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM