使用MySQL遇到的坑一(index column size too large)

使用MySQL遇到的坑一(index column size too large)

MySQL数据库index column size too large. the maximum column size is 767 bytes问题解决
在恢复一个mysql库的备份文件时遇到报错,报错信息为index column size too large. the maximum column size is 767 bytes,此问题为备份的库索引过长超过限制,目标数据库引擎为INNODB 引擎,编码UTF-8,主键字符串默认最大767,理论上是需要优化备份数据库的,但是在实际环境中如果没办法优化,我们可以通过配置目标数据库来解决这个报错

修改数据库的配置文件(vim /etc/my.cnf),加入如下两行配置

innodb_large_prefix=on
innodb_file_format=BARRACUDA

重启数据库并登录数据库检查配置是否生效

service mysql restart
show variables like 'innodb_large_prefix';
show variables like 'innodb_file_format';

使用MySQL遇到的坑一(index column size too large)_第1张图片
使用MySQL遇到的坑一(index column size too large)_第2张图片

修改我们要还原的数据库脚本,加入如下配置即可

ROW_FORMAT=DYNAMIC

使用MySQL遇到的坑一(index column size too large)_第3张图片

你可能感兴趣的:(DB)