1071 - Specified key was too long; max key length is 767 bytes
innodb存储引擎,多列索引的长度限制如下:
每个列的长度不能大于767 bytes;所有组成索引列的长度和不能大于3072 bytes
myisam存储引擎,多列索引长度限制如下:
每个列的长度不能大于1000 bytes,所有组成索引列的长度和不能大于1000 bytes
启用innodb_large_prefix,那么限制值会增加到3072
具体的操作如下:
1、查看innodb_large_prefix,innodb_file_format参数
mysql> show variables like 'innodb_large_prefix';
+-------------------------+---------------+
| Variable_name | Value |
+--------------------------+--------------+
| innodb_large_prefix | OFF |
+--------------------------+--------------+
2、查看innodb_file_format
mysql> show variables like 'innodb_file_format';
+-------------------------+---------------+
| Variable_name | Value |
+-------------------------+---------------+
| innodb_file_format | Antelope |
+-------------------------+---------------+
修改innodb_large_prefix,innodb_file_format参数
mysql> set global innodb_large_prefix=1;
mysql> set global innodb_file_format=BARRACUDA;
innodb_large_prefix=1并且innodb_file_format=BARRACUDA时,对于row_format为dynamic的表可以指定索引列长度大于767 bytes。但是索引列总长度的不能大于3072 bytes的限制仍然存在。
HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc....Possibly consider using a shorter
springboot用的连接池中的连接(因为连接池用的连接还未超时,定义时间),超过了数据库的最大连接超时时间
java默认为600000,即10分钟
spring.datasource.hikari.max-lifetime=120000
mysql
wait_timeout=360000
评论区