MySQL参数最大连接数max_connections
1、查看最大连接数
mysql> show status like 'Threads%'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Threads_cached | 58 | | Threads_connected | 57 | ###这个数值指的是打开的连接数 | Threads_created | 3676 | | Threads_running | 4 | ###这个数值指的是激活的连接数,这个数值一般远低于connected数值 +-------------------+-------+ Threads_connected 跟show processlist结果相同,表示当前连接数。准确的来说,Threads_running是代表当前并发数 这是是查询数据库当前设置的最大连接数 mysql> show variables like '%max_connections%'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 1000 | +-----------------+-------+ 可以在/etc/my.cnf里面设置数据库的最大连接数 [mysqld] max_connections = 1000
2、show status
Threads_connected 当前的连接数
Connections 试图连接到(不管是否成功)MySQL服务器的连接数。
Max_used_connections 服务器启动后已经同时使用的连接的最大数量。
3、设置最大连接数
set GLOBAL max_connections=2000; set GLOBAL max_user_connections=1500; mysql> show global variables like "max%connections"; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | max_connections | 2000 | | max_user_connections | 1500 | +----------------------+-------+ 2 rows in set (0.08 sec)
说明,
系统支持的最大连接max_connections
用户能最大连接进来的数量max_user_connections
别忘记在配置文件里添加否则重启失效
max_connections=1000;
max_user_connection=600
以上设置,为自己和其他用户预留几个连接空闲
4、修改/etc/my.cnf中的max_connections
5、show processlist 显示当前正在执行的MySQL连接
6、mysqladmin -u<user> -p<pwd> -h<host> status
显示当前MySQL状态 Uptime: 13131 Threads: 1 Questions: 22 Slow queries: 0 Opens: 16 Flush tables: 1 Open tables: 1 Queries per second avg: 0.1 mysqladmin -u<user> -p<pwd> -h<host> extended-status 显示mysql的其他状态 +-----------------------------------+----------+ | Variable_name | Value | +-----------------------------------+----------+ | Aborted_clients | 0 | | Aborted_connects | 1 | | Binlog_cache_disk_use | 0 | | Binlog_cache_use | 0 | | Bytes_received | 1152 | | Bytes_sent | 10400 | | Com_admin_commands | 0 | | Com_assign_to_keycache | 0 | ............................................................. ............................................................. | Threads_cached | 2 | | Threads_connected | 1 | | Threads_created | 3 | | Threads_running | 1 | | Uptime | 13509 | | Uptime_since_flush_status | 13509 | +-----------------------------------+----------+
7、遇到最大连接数处理
[推荐] 使用 mysqladmin flush-hosts 命令清理一下hosts文件(不知道mysqladmin在哪个目录下可以使用命令查找:whereis mysqladmin); mysqladmin flush-hosts -h192.168.x.x -Pxxxx -uroot -pxxxx;
8、OS ulimit参数
[root@emsc ~]# ulimit -n
65535
参考
MYSQL 最大连接数设置-毛虫小臭臭-51CTO博客 http://blog.51cto.com/moerjinrong/1969909
Mysql 查看连接数,状态 最大并发数 - CSDN博客 https://blog.csdn.net/makang110/article/details/75226522
mysql 最大链接数 max_connections 设置-12917979-51CTO博客 http://blog.51cto.com/12927979/2047537