计算机知识分享网

【mysql】MySQL5.7和MySQL5.6兼容性SpecifiedKey问题

我们将5.7的备份SQL文件还原到5.6时,报错提示:

ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes
可以查看mysql5.6默认的配置:
show variables like 'innodb_large_prefix';  
show variables like 'innodb_file_format';
修改mysql5.6默认的配置:
--修改最大索引长度限制
set global innodb_large_prefix=1; 
set global innodb_file_format=BARRACUDA;
-- 添加
set global innodb_file_format_max=BARRACUDA;
最后修改插入sql的语句添加ROW_FORMAT=DYNAMIC
create table idx_length_test_table2
(
  id int auto_increment primary key,
  name varchar(255)
) ROW_FORMAT=DYNAMIC default charset utf8mb4;

#Mysql