迁移数据库的时候遇到了这样一个问题
ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes
问题出在表中的unique key(name)上
数据是从老服务器上迁移到新服务器上,老服务器上用的是Mysql5.7,新服务器上反而是5.5。因此出了这个问题
我设置的编码为utf8mb4编码,一个字符是占了4个字节。name是varchar(255)。共 255 * 4 = 1020 > 767
解决方法:
my.cnf设置
innodb_large_prefix=1
innodb_file_format=Barracuda
innodb_file_per_table = 1
保存完成后重启mysql。再次导入就行了。
扫描二维码关注公众号,回复:
7673598 查看本文章