Error number: 4093; Symbol: ER_INNODB_INSTANT_ADD_NOT_SUPPORTED_MAX_SIZE; SQLSTATE: HY000
Message: Column can’t be added with ALGORITHM=INSTANT as after this max possible row size crosses max permissible row size. Try ALGORITHM=INPLACE/COPY.
错误说明
ER_INNODB_INSTANT_ADD_NOT_SUPPORTED_MAX_SIZE错误代码4093是一个MySQL InnoDB表引擎的表满错误,表明当利用“innodb_instant_add_column”设置在MySQL 5.7.9之后的新版本的InnoDB表引擎中添加一个新列时,服务器无法处理得到了一个太大的表.
常见案例
ER_INNODB_INSTANT_ADD_NOT_SUPPORTED_MAX_SIZE错误代码4093可能会在MySQL InnoDB表引擎中出现,通常是因为当利用“innodb_instant_add_column”设置在MySQL 5.7.9之后的新版本的InnoDB表引擎中添加一个新列时,表的实际大小超过了服务器所允许的最大表大小.
解决方法
ER_INNODB_INSTANT_ADD_NOT_SUPPORTED_MAX_SIZE错误代码4093可以采取以下措施来解决:
1. 修改max_column_in_table选项来限制表中的列数;
2. 删除表中的一些列;
3. 使用ALTER TABLE语句恢复表中一些列;
4. 将新列添加到其他表中;
5. 使用临时表和SELECT INTO语句来拆分表;
6. 调整innodb_instant_add_column参数,将其按需设置为OFF。