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

1、show variables like 'innodb_large_prefix';

show variables like 'innodb_file_format';

修改为如下配置:

set global innodb_large_prefix=ON;

set global innodb_file_format=BARRACUDA;
————————————————
2、mysql的字符集为utf8mb4
3、创建表时添加 ENGINE=InnoDB ROW_FORMAT=dynamic DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci 字样。
执行SQL
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
) ENGINE=InnoDB ROW_FORMAT=dynamic DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

posted @ 2022-09-20 16:08  newbigapple  阅读(184)  评论(0)    收藏  举报