MySQL 8.0发行说明
MySQL 8.0源代码文档10bet官方网站
在线DDL操作的故障通常是由于以下条件之一:
一个
算法
子句指定与特定类型的DDL操作或存储引擎不兼容的算法。一种
锁
子句指定低锁定程度(共享
或者没有任何
)与特定类型的DDL操作不兼容。等待时发生超时独家锁定在桌子上,在DDL操作的初始和最终阶段期间可能需要短暂地需要。
这
TMPDIR.
或者Innodb_tmpdir.
文件系统运行磁盘空间,而MySQL在索引创建期间在磁盘上写入临时排序文件。有关更多信息,请参阅第15.12.3节“在线DDL空间要求”。该操作需要很长时间且同意DML修改表,即临时在线日志的大小超过了值
innodb_online_alter_log_max_size.
配置选项。这种情况导致了一个db_online_log_too_big.
错误。并发DML对具有原始表定义允许的表进行更改,但不是新的表。当MySQL尝试从并发DML语句中应用所有更改时,操作仅在最终失败。例如,您可能会在创建唯一索引时将重复值插入列中,或者您可能会插入
空值
创建一个列中的值首要的关键该列上的索引。并发DML所做的更改优先,并且改变表
操作有效回滚。