mysql连接数问题
最近应用服务器tomcat容器启动老提示mysql连接数不够用,查看mysql连接数show variables like '%max_connections%';set global max_connections=2024 临时修改,永久修改要去my.cnf配置文件中添加max_connections,默认是100[mysqld]max_connections ...
最近应用服务器tomcat容器启动老提示mysql连接数不够用,
查看mysql连接数
show variables like '%max_connections%';
set global max_connections=2024 临时修改,永久修改要去my.cnf配置文件中添加
max_connections,默认是100
[mysqld]
max_connections = 2024
查看当前连接情况
show status like 'Threads%';
显然连接是够用的,完全没有怎么消耗
然后用show processlist; 查看具体连接,show processlist;只列出前100条,如果想全列出请使用show full processlist;
show processlist;
Threads_connected 跟show processlist结果相同,表示当前连接数。准确的来说,Threads_running是代表当前并发数
然后使用
flush hosts;
刷新后应用启动居然可以了,然后对比以前大佬的设置发现innodb_buffer_pool_size我没有设置 mysql 默认为128M
服务器内存很足,而且只做mysql服务所以加内存设置够大。
修改连接数超时时间跟mysql最大连接数同理,也是先查看当前mysql连接数超时时间
mysql> show global variables like "wait_timeout"; 方法一、修改配置文件,方法二、进入mysql修改 mysql> set global wait_timeout=600,即可。查看mysql全部参数 mysql > show status 。
开始一直以为是msyql连接数没生效
很显然连接数没有问题
MySQL 能够支持的最大连接数量受限于操作系统,必要时可以增大 open-files-limit 。换言之,连接数与文件打开数有关。
打开vi /usr/lib/systemd/system/mysqld.service , mysql是mysqld.service
LimitNOFILE=65535
LimitNOFILE=65535
LimitNPROC=65535
保存后,执行下面命令,使配置生效
$ systemctl daemon-reload
$ systemctl restart mysqld.service
修改/lib/systemd/system/mysql.service,添加
vi /etc/security/limits.conf
LimitNOFILE=65535
LimitNPROC=65535
保存后,执行以下命令
systemctl daemon-reload
systemctl restart mysql.service
设置durid连接超时和检测
这个错误是短时间内同一ip连接错误次数达到上限
show global variables like '%max_connect_errors%';
默认是100
修改配置文件然后重启
更多推荐
所有评论(0)