Mysql执行脚本Specified key was too long; max key length is 767 bytes问题解决

Posted 沛沛老爹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql执行脚本Specified key was too long; max key length is 767 bytes问题解决相关的知识,希望对你有一定的参考价值。

在用Navicate执行mysql脚本的时候,一帆风顺。

因为生产库不允许远程操作,这个你懂的。所以没办法就把数据库脚本整体从本地导出来了,然后使用阿里云的数据导入功能。

在执行数据导入任务的时候,Burt!就弹出了“Specified key was too long; max key length is 767 bytes”这个错误,还好哥们选择的是错误不 继续的方式,否则等下找错误,就不知该从 何处下手了。

分析了下(假的 ),直接百度,说是因为5.7版本的Mysql默认将innodb_large_prefix参数设置为了OFF模式,导致如果你的索引长度超出了767Bytes的话,是不会让你继续 的。

怎么办?开起来就好了。直接打开 RDS实例的参数 配置。找到对应的设置项,然后修改为ON,提交参数修改。重启下 ,OK了。

说明下,这个是新库迁移才这样做的,如果是非新库,希望您还是在月黑风高的时候,悄悄的玩枪,不然到时候,擦枪走火。您就准备跑路吧。

总结下:为什么这个在本地OK,在远程会有问题,本地的话,Navicate很多的操作不是规范的SQL操作!Navicate很多的操作不是规范的SQL操作!Navicate很多的操作不是规范的SQL操作!

重要的事情,我只说三遍。好了,问题解决去白嫖去了。

以上是关于Mysql执行脚本Specified key was too long; max key length is 767 bytes问题解决的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 提示:MySql Specified key was too long; max key length is **** bytes

数据库索引过长(Specified key was too long; max key length is 767 bytes)

MySQL双字符主键过长 Specified key was too long; max key length is 767 bytes

Mysql Specified key was too long; max key length is 767 bytes

Mysql-Specified key was too long-不明白为啥? [复制]

mysql: Specified key was too long; max key length is 767 bytes