对于 mysql8 数据库设置其最大连接数,通常使用的是 max_connection。

查看设置

可以使用如下 sql 查询全局变量的设定:

show variables like '%max_connections%';

得到查询结果:(如下图所示) 查询结果

  • max_connections 这个就是通常的最大连接数;
  • mysqlx_max_connections 这个则是指当数据库安装了各种插件(例如审计插件、查询代理插件、主从插件等)后插件能够接收的最大连接数;

所以通常对于 MySQL8(安装了插件的) 来说,需要同时设定这两个数值,且数值一致,才符合预期。

修改设置

可以使用如下语句修改并持久化全局变量的配置

-- SET PERSIST 可以修改mysql8的配置并将该配置存储到配置文件中,这样即使mysql8数据库重启,修改后的参数依然生效
-- 该指令在低版本的mysql中是不存在的
SET PERSIST mysqlx_max_connections=1024;

注意事项

所以当你的数据库连接池不够的时候,需要同时修改这两个变量:

SET PERSIST max_connections=1024;
SET PERSIST mysqlx_max_connections=1024;

即可。