目 录CONTENT

文章目录

MySQL常见报错

简中仙
2023-12-04 / 0 评论 / 0 点赞 / 86 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于2023-12-04,若内容或图片失效,请留言反馈。 本文如有错误或者侵权的地方,欢迎您批评指正!

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
0

评论区