Mysql表添加字段报innodb_online_alter_log_max_size不够

Mysql表添加字段报innodb_online_alter_log_max_size不够

错误信息

Execute: Creating index 'PRIMARY' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.

innodb_online_alter_log_max_size的含义

Mysql表添加字段报innodb_online_alter_log_max_size不够-每日运维

当在线DDL操作创建索引或修改表时,临时日志文件记录并发DML。这个参数指定InnoDB表在线DDL操作期间使用的临时日志文件大小的上限,单位是字节,默认值是128MB。
如果online ddl的操作耗时较长,并且过程中并发DML对表的修改太多,导致临时日志文件的大小超过了innodb_online_alter_log_max_size的值,则在线DDL操作失败,会提示以上的错误。

解决方案:

  1. 表的ddl操作尽可能放在低峰期执行,防止执行ddl的过程中累积过多的dml操作,进而超过innodb_online_alter_log_max_size最大值。
  2. 增大innodb_online_alter_log_max_size值,以允许online ddl期间使用更多的dml。

Mysql表添加字段报innodb_online_alter_log_max_size不够-每日运维

点个“赞 or 在看” 你最好看!

喜欢,就关注我吧!Mysql表添加字段报innodb_online_alter_log_max_size不够-每日运维

👇👇👇 谢谢各位老板啦!!!