From the mysql doc , it says :
ALTER TABLE operations are processed using one of the following algorithms:
COPY: Operations are performed on a copy of the original table, and table data is copied from the original table to the new table row by row. Concurrent DML is not permitted.
INPLACE: Operations avoid copying table data but may rebuild the table in place. Typically, concurrent DML is supported for InnoDB tables by a DML log that is applied after table alterations are committed.
It just says mysql can dml when modify column , but how innodb alter table inplace algorithm inner work ?