# Error-Specified key was too long; max key length is 767 bytes;
# Error-ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.
## 环境
– Linux
– Mysql5.7
– Mariadb 10.1.26
## 事实
在对Mysql数据库构建数据主从同步时,发现建表语句创建失败,报错:ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.
## 原因
1. Mysql5.7 设置有索引长度限制,在对varchar和text等列创建索引时受此限制。
2. Mariadb 10.1.26,没有开启row_format=Dynamic
3. 从Mysql往Mariadb进行主从同步,不兼容。
## 修复
1. set global innodb_large_prefix = ON; (OFF为767字节,ON为3072个字节)
2. 表创建语句新增row_format=Dynamic
## 补充
1. 如果需要数据库永久生效,则修改配置文件新增innodb_large_prefix = ON;,并重启数据库服务。
0 条评论