MySQL最大连接数
一、Mysql最大连接数查询 1、查看当前连接数
查看当前连接数
./mysqladmin -uroot -p1234.com status
Uptime: 1370150Threads: 1 (当前连接数) Questions: 79Slow queries: 0Opens: 33Flush tables: 1Open tables: 26Queries per second avg: 0.000
./mysql -uroot -p1234.com -e 'show status' | grep -iThreads
Delayed_insert_threads0
Slow_launch_threads0
Threads_cached1
Threads_connected1
Threads_created2
Threads_running1 ##(当前连接数)
mysql> show status like 'Threads%';
+-------------------+-------+
| Variable_name| Value |
+-------------------+-------+
| Threads_cached| 1|
| Threads_connected | 1|
| Threads_created| 2|
| Threads_running| 1|###当前连接数
+-------------------+-------+
4 rows in set (0.00 sec)
2、查看最大连接数
[root@xxx bin]# ./mysql -uroot -p1234.com -e 'show variables' | grep max_connections
max_connections500
mysql> show global variables like 'max_conn%';
+--------------------+-------+
| Variable_name| Value |
+--------------------+-------+
| max_connect_errors | 10|
| max_connections| 500|## 最大连接数
+--------------------+-------+
2 rows in set (0.00 sec)
3、查看已经用的连接数
mysql> show global status like 'Max_used_connections';
+----------------------+-------+
| Variable_name| Value |
+----------------------+-------+
| Max_used_connections | 152|
+----------------------+-------+
1 row in set (0.04 sec)
————————————————
二、方案 想尽一切办法不重启
这种情况一般是进不去数据库了,修改配置文件得重启,对于线上的数据库风险太大了,进入数据库用sql修改,现在是进不去了
方法1 使用gdb工具 不用进入数据库,不用重启数据库 方法如下:
[root@xxx bin]# gdb -p $(cat /data/mydata/xxx.pid) -ex "set max_connections=500" -batch
[New LWP 7667]
[New LWP 4816]
[New LWP 341]
[New LWP 338]
[New LWP 337]
[New LWP 336]
[New LWP 335]
[New LWP 331]
[New LWP 330]
[New LWP 329]
[New LWP 328]
[New LWP 327]
[New LWP 326]
[New LWP 325]
[New LWP 324]
[New LWP 323]
[New LWP 322]
[Thread debugging using libthread_db enabled]
0x00000035654df1b3 in poll () from /lib64/libc.so.6
【MySQL最大连接数】查看mysql pid位置的方法
在配置文件 my.cnf里查找
用 ps -ef | grep mysql 查找
mysql> show variables like '%pid%';
+---------------+----------------------+
| Variable_name | Value|
+---------------+----------------------+
| pid_file| /data/mydata/xxx.pid |
+---------------+----------------------+
1 row in set (0.00 sec)
修改完毕后 ,尝试重新进入数据库,并查看链接数
这种方法设置后,只是暂时的,数据库重启后,会变为原来的数值,要想永久,设置完后修改配置文件my.cnf
方法2 前提是还可以进入数据库
进入数据库
设置新的最大连接数为200:mysql> set GLOBAL max_connections=200显示当前运行的Query:mysql> show processlist显示当前状态:mysql> show status退出客户端:mysql> exit
这种方法设置后,只是暂时的,数据库重启后,会变为原来的数值,要想永久,设置完后修改配置文件my.cnf
方法3 需要重启数据库
修改 my.conf
max_connection = 1000;
方法4 三、模拟连接数过多
#!/bin/bash
set j=2
while true
do
let "j=j+1"
/usr/local/mysql/bin/mysqlslap -a -c 500 -i 10 -uroot -p1234.com
done
参考:
1)https://www.cnblogs.com/lazyt...
2)
推荐阅读
- py连接mysql
- 2019-01-18Mysql中主机名的问题
- MySql数据库备份与恢复
- Android|Android BLE蓝牙连接异常处理
- 无私便是最大的自私---多久没有无私过了
- 人最大的教养,是原谅父母的不完美.读后感
- mysql|InnoDB数据页结构
- mysql中视图事务索引与权限管理
- MYSQL主从同步的实现
- MySQL数据库的基本操作