java多线程    Java入门    vsftp    ftp    linux配置    centos    FRP教程    HBase    Html5缓存    webp    zabbix    分布式    neo4j图数据库    

mysql too many open connections解决

曾经以为在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]下面,才有用。

以后就好了。

1.修改mysql最大连接数
写入mysqld

修改mysql配置文件 max_connections = 1000 重启mysql。
可通过show variables like 'max_connections'; 查看当前设置的连接数。

很多mysql 默认没有配置这个参数,需自己加。

自己加在[mysqld]的最后面,但是必须在skip-name-revolve 上面

[mysqld]
…
innodb_lock_wait_timeout = 50
max_connections = 1000
skip-name-resolve

不能放在skip-name-resolve 下面,必须放上面,否则mysql 无法启动。

skip-name-revolve 作用为解决远程连接mysql的时候,速度过慢的问题

2.查看当前连接状态

 show status like '%connect%';

Connections,试图连接到(不管是否成功)MySQL服务器的连接数。
Max_used_connections,服务器启动后已经同时使用的连接的最大数量。
Threads_connected,当前的连接数。

mysql查看用户

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;


This entry was posted in 数据库, 高并发与大数据 and tagged , , , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/mysql-too-many-open-connections/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.

Leave a Reply