记一个mysql的问题

迁移数据库的时候遇到了这样一个问题

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。再次导入就行了。

posted @ 2019-10-29 10:07  shiningsun  阅读(129)  评论(0编辑  收藏  举报