innodb_online_alter_log_max_size这个参数是mysql 5.6.6引入的,因为在online ddl过程中需要保持delete、update、insert这些数据,所以需要一个日志去保持,这个参数就是限制这个日志的最大大小,当ddl过程中需要的这个日志的大小比这个限制还大的时候就会报错。
具体的错误:
ERROR 1799 (HY000) at line 1: Creating index 'PRIMARY' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.
解决方法:
该参数为动态参数且全局的,可通过如下命令加大(不一定是我下面设置的大小,这个根据你的情况)
mysql> set global innodb_online_alter_log_max_size=402653184;
5.7中的官方文档关于这个参数的解释:
innodb_online_alter_log_max_size
Command-Line Format |