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 @   newbigapple  阅读(172)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示