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)

    推荐阅读