Mysql8.0++ Too many connections 的解决办法,基于navicat

文章目录

  • 原因
  • 一、查看mysql版本
  • 二、解决方法
    • 1. mysql8.0++ 解决办法(只需要线上修改)还是用 navicat
  • 三、总结
    • 1. 关于 mysql 8.0以下的版本


原因

  • 一次项目过程中,mysql总是出现Too many connections(当前连接数过多)经查询才知道,mysql配置参数中设定的并发连接数太少(一般就100连接数)或者系统繁忙导致连接数被占满。
  • 一旦连接数超过了 MySQL 设置的值,就会报Too many connections
  • 这个错误与 max_connections 和 wait_timeout 都有关。wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。

一、查看mysql版本

  • 打开 navicat 新建查询语句,输入以下语句并运行,就能看到当前 mysql 的版本号
select version();

Mysql8.0++ Too many connections 的解决办法,基于navicat_第1张图片
确定 mysql 版本号是8.0以上的就能继续执行以下方法

二、解决方法

1. mysql8.0++ 解决办法(只需要线上修改)还是用 navicat

也是用 navicat 新建查询,然后按步骤输入以下语句

设置等待超时时间

set persist wait_timeout=120;

设置交互超时时间

set persist interactive_timeout=300;

设置最大链接数(一般500-1000合理)

set persist max_connections=600;

修改完成之后,以下语句查看当前最大连接数,
不放心可关闭数据库,重新启动,再查询一次

show variables like '%max_connections%';

Mysql8.0++ Too many connections 的解决办法,基于navicat_第2张图片

三、总结

1. 关于 mysql 8.0以下的版本

  • 其解决方式也能通过线上修改,但是线上修改(重启数据库之后会恢复为默认)
  • 一般操作是线上修改 + 配置文件修改(配置文件是为了mysql重启时生效)
  • 这里就不再赘述,有需要的小伙伴可以自行查阅资料,这里列举的解决办法只针对 Mysql8.0 以上的版本

参考文章:https://blog.csdn.net/qq_16457573/article/details/97675112

你可能感兴趣的:(ajax,vue,html)