mysql too many open
connections问题解决方法。
原文参考:http://www.jbxue.com/db/10068.html
原因主要是:max_connections配置问题导致,它必须在[mysqld]下面才会生效。
曾经以为在my.cnf写入max_connections = 2000
就可以改变mysql的最大并发量,今天查到一个命令,发现服务器的mysql最大连接数为151.
控制台,连接上mysql
show variables;
这条命令可以看到所有基础配置
如果单独看max_connections可以这样
show variables like ‘max%‘;
+—————————-+————+
| Variable_name | Value |
+—————————-+————+
| max_allowed_packet | 1048576 |
| max_binlog_cache_size | 4294963200 |
| max_binlog_size | 1073741824 |
| max_connect_errors | 10 |
| max_connections | 151 |
| max_delayed_threads | 20 |
| max_error_count | 64 |
| max_heap_table_size | 16777216 |
| max_insert_delayed_threads | 20
151 好像是lampp默认的最大连接数。
my.cnf里大致这样写的
max_connections=2000
# The MySQL server
[mysqld]
port = 3306
socket = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
改完以后
# The MySQL server
[mysqld]
max_connections=2000
port = 3306
然后把max_connections=2000移动到[mysqld]下面,重启动mysql
+—————————-+————+
| Variable_name | Value |
+—————————-+————+
| max_allowed_packet | 1048576 |
| max_binlog_cache_size | 4294963200 |
| max_binlog_size | 1073741824 |
| max_connect_errors | 10 |
| max_connections | 2000 |
| max_delayed_threads | 20 |
| max_error_count | 64 |
| max_heap_table_size | 16777216 |
| max_insert_delayed_threads | 20
就可以了。
这配置必须在[mysqld]下面才有用。
时间: 2024-12-07 01:41:46