Mariadb 10.1版本 导入sql时 报错[ERR] 1071 - Specified key was too long; max key length is 767 bytes
时间: 2023-10-13 15:16:21 浏览: 174
cent7yum安装mariadb10.1-galera集群-详细笔记文档总结
这个错误通常是由于字符集和排序规则导致的。在MariaDB 10.1版本中,如果使用utf8mb4字符集,最大的键长度只能是191个字符(即767个字节)。如果超过这个限制,就会出现这个错误。
解决这个问题的方法有两种:
1. 修改字符集和排序规则
可以修改表的字符集和排序规则,将其改为utf8或者latin1,这样就可以解决这个问题。但是,这种方法不适用于需要使用utf8mb4字符集的情况。
2. 修改配置文件
在my.cnf配置文件中添加以下内容:
```
[mysqld]
innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=true
```
然后重启MariaDB服务即可。
这样做的原因是,innodb_large_prefix选项可以允许更长的键长度,innodb_file_format=barracuda选项可以支持更大的页大小,从而支持更长的键长度。innodb_file_per_table选项可以让每个表都使用单独的文件,从而避免文件大小限制的问题。
注意:在修改my.cnf配置文件之前,最好备份一下该文件,以免修改出错导致MariaDB无法启动。
阅读全文