2021年3月27日 作者 zeroheart

mysql8 max key length is 767 bytes

由于mysql8删除了innodb_large_prefix

所以需要使用新的方法处理

ALTER TABLE xxx ROW_FORMAT=DYNAMIC default charset utf8mb4;

另外附上一起修改多个表的方法

SELECT CONCAT( ‘ALTER TABLE ‘, TABLE_NAME, ‘ ROW_FORMAT=DYNAMIC default charset utf8mb4;’ )
FROM information_schema.tables
WHERE table_schema = ‘xxx’
LIMIT 0 , 10000;

新建的话使用如下语句:
create table xxl_job_registry
 (
     id             int auto_increment
         primary key,
     registry_group varchar(50)  not null,
     registry_key   varchar(255) not null,
     registry_value varchar(255) not null,
     update_time    datetime     null
 )ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;