”索引字段太长;最大值为767bytes“,这可能是由于MySQL版本的问题。
解决方案:
由参数innodb_large_prefix 控制,不开启时最大长度为767,开启后最大长度为3072,建议非必要不开启,可能会影响性能。
查看命令
show variables like 'innodb_large_prefix';

将它设置为开启状态:1为开启,0为关闭
set global innodb_large_prefix=1;

查看innodb_file_format
show variables like 'innodb_file_format';

设置为BARRACUDA
set global innodb_file_format=BARRACUDA;

如果执行sql脚本文件时报1709-...
则在sql创建table时加入ROW_FORMAT=DYNAMIC
create table QRTZ_LOCKS (
sched_name varchar(120) not null comment '调度名称',
lock_name varchar(40) not null comment '悲观锁名称',
primary key (sched_name, lock_name)
) ROW_FORMAT=DYNAMIC engine=innodb comment = '存储的悲观锁信息表';
优化MySQL索引长度限制与文件格式设置
本文介绍了MySQL中索引字段长度限制问题,提出通过`innodb_large_prefix`参数调整,建议非必要不开启以保持性能。还提到设置`innodb_file_format`为BARRACUDA和使用ROW_FORMAT=DYNAMIC来解决特定错误1709的方法。
4512

被折叠的 条评论
为什么被折叠?



