目录超出MySQL最大连接数问题查看最大连接数修改最大连接数MySQL最大连接数,TimeOut配置MySQL连接数配置Mysql的连接线程池Mysql TimeOut配置总结
超出MySQL最大连接数问题
如果遇到MySQ连接数超出最大限制了,不要慌,往下看:
通常,mysql的最大连接数默认是100, 最大可以达到16384。
查看最大连接数
show variables like '%max_connections%';
修改最大连接数 方法一:修改配置文件。推荐方法一
进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 并将其修改为
max_connections=1000 然后再服务里重起MySQL服务即可.
方法二:命令行修改。不推荐方法二
命令行登录MySQL后。设置新的MySQL最大连接数为200:
MySQL> set global max_connections=200如果已经连接不上了,先重启MySQL服务后再进行上述操作即可。
这种方式有个问题,就是设置的最大连接数只在mysql当前服务进程有效,一旦mysql重启,又会恢复到初始状态。因为mysql启动后的初始化工作是从其配置文件中读取数据的,而这种方式没有对其配置文件做更改。
MySQL最大连接数,TimeOut配置
MySQL连接数配置 1.MySQL的max_connections参数用来设置最大连接(用户)数。每个连接MySQL的用户均算作一个连接,max_connections的默认值为100左右
1.1查看数据库配置的最大连接数
show variables like "max_connections";可以使用Navicat或者CMD进行命令查询


1.2如果实际情况中的最大连接数超过,就会提示TimeOut超出最大请求数
这是我们需要进行配置项的修改
设置调整最大连接数
set global max_connections = 1000;

Mysql的连接线程池 1.查看Mysql数据库当前的所有连接线程
show full processlist;

图片中可以看到当前数据库的连接线程情况 。其中发现很多的线程都是Sleep状态,这个下面讲到的TimeOut配置会进行管理Sleep线程。
Mysql TimeOut配置 查看Mysql的TimeOut配置
show global variables like '%timeout%';

执行修改脚本
set global interactive_timeout=100; set global wait_timeout=30;

执行完成后可以发现全局变量已修改

注意:在项目的连接字符中也需要确认是否进行了相关的配置,导致了Mysql连接失败问题
以上设置会马上生效,但是当mysql重启时这个设置会失效,更好的办法是
找到mysqld块,修改或者添加下面的设置:
max_connections=200 wait_timeout=30 interactive_timeout=100这样修改之后,即便重启mysql也会默认载入这个配置了
关于my.ini文件的路径以及创建
总结 以上为个人经验,希望能给大家一个参考,也希望大家多多支持。