把nacos-mysql.sql文件导入到mysql5.6数据库报错如下:
‘’
可以看到报错的信息,是permissions表造成的;报错:1709 - Index column size too large. The maximum column size is 767 bytes.
原因:索引的字段太长;
解决:
1.修改参数
set global innodb_large_prefix = ON
set global innodb_file_format = BARRACUDA
2.检查数据库配置是否发生变化
show variables like 'innodb_large_prefix';
show variables like 'innodb_file_format';
3.数据库脚本添加:
ROW_FORMAT=DYNAMIC
CREATE TABLE `permissions` (
`role` varchar(50) NOT NULL,
`resource` varchar(255) NOT NULL,
`action` varchar(8) NOT NULL,
UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
) ROW_FORMAT=DYNAMIC
这样可以执行ok!
4.在my.ini中添加参数,重新启动数据库服务
innodb_large_prefix=on
innodb_file_format=BARRACUDA
5.重启mysql
service mysql restart