mysql 8.0.26 ERROR 1071 (42000): Specified key was too long; max key length is 3072 bytes
时间: 2023-11-27 07:46:22 浏览: 211
Laravel 5.4中migrate报错: Specified key was too long error的解决
这个错误是由于MySQL默认情况下单个列的索引不能超过767位,而你的索引长度超过了这个限制所导致的。解决这个问题有两种方法:
1. 修改MySQL的默认存储引擎为InnoDB,因为InnoDB的索引长度限制为3072 bytes,可以通过以下步骤实现:
```shell
vim /etc/my.cnf
```
在[mysqld]下面添加以下内容:
```shell
default-storage-engine=InnoDB
```
保存并退出,然后重启MySQL服务:
```shell
service mysqld restart
```
2. 启用innodb_large_prefix选项,将约束项扩展至3072byte,可以通过以下步骤实现:
```shell
set global innodb_large_prefix = 1;
```
然后查看数据库索引约束参数是否开启:
```shell
show variables like 'innodb_large_prefix';
```
如果输出结果为1,则表示已经成功开启了该选项。
阅读全文