Linux运维笔记
我们一直在努力

Index column size too large. The maximum column size is 767 bytes.

今天修改了MySQL的字符集为utf8mb4,然后为某些表修改字符集的时候就出现了以下错误

 

ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes

ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.

 

大致就是单列的索引不能超过767位,具体怎么算大家可以自己研究下

大致的修改方法就是启用innodb_large_prefix选项,将约束项扩展至3072byte,同时添加行格式压缩

 

修改my.cnf,添加以下选项

innodb_large_prefix = ON
innodb_file_format = Barracuda
innodb_file_per_table = ON

然后进入mysql用SQL语句为表添加行格式为压缩

ALTER TABLE 库名.表名 ROW_FORMAT = DYNAMIC;

赞(0) 打赏

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址