Fork me on GitHub

【性能测试】MySQL连接数及连接异常排查02

一、mysql连接数

1、Mysql连接数,是服务器和数据库建立连接时,使用的连接数量。
利用Mysql的SQL语句监控Mysql的连接数:
show variables like '%connections%';

max_connections:所有与数据库建立连接的最大数量

max_user_connections:每个用户与数据库建立连接的最大数量

2、数据库内的最大连接时间

show variables like '%time%'

3、查看当前数据库连接数

方法一、show processlist 来查看;
方法二、show status like '%Thread%';
 
通过命令调整:
set GLOBAL max_connections= = XXX 设置 mysql l 的最大连接数
➢ set GLOBAL max_user_connections= = XXX 设置 单用户的 最大连接数
➢ select `USER`,COUNT(`USER`) AS CNT from information_schema.PROCESSLISTGROUP BY
`USER` ORDER BY CNT DESC;          查看执行 l sql 的连接总数

二、MySQL 连接异常排查

show STATUS like "%Aborted%"

Aborted_connects: : 尝试重连的次数,结合 host_cache,可能因为
➢ 连接到 MySQL 服务器的失败
➢ 客户端没有权限但是尝试访问 MySQL
➢ 客户端输入的密码不对198 / 295
➢ 超过 connect_timeout 限制(mysql 默认是 10s,除非网络环境极端不好,一般不会超
时)
Aborted_clients: : 客户端没有正常关闭连接而强行中止的连接数, , 有客户端成功建立连
接,但是由于某些原因断开连接,一般是由于网络环境不稳定。主要的可能性有
➢ 客户端退出之前未调用 mysql_close()正确关闭 MySQL 连接
➢ sleep 时间超过了变量 wait_timeout 和 interactive_timeout 的值,导致连接被 MySQL 进
程终止
show global variables like '%timeout%' 
解决办法(设置重连,增加超时时间):

修改my.ini配置,增加超时时间或在连接url中添加“&autoReconnect=true”。

在port=3306下面添加如下配置:

wait_timeout=31536000

interactive_timeout=31536000

然后重启MySQL。

➢ 客户端在数据传输过程中突然结束
posted @ 2024-02-13 16:18  橘子偏爱橙子  阅读(479)  评论(0编辑  收藏  举报