Fork me on GitHub

mysql报错:(1040, ‘ny connections‘)

在项目、可视化数据库管理工具(比如:Navicat)连接Mysql数据库时出现:too many connections 的错误,偶现情况。

原因是Mysql设置的最大连接数太小,连接池已满,实际连接数超过了mysql 允许的最大连接数,访问量过高,MySQL服务器抗不住。

解决:

1、(推荐)修改max_connections,如果这个值已经很大,2、这个时候就要考虑增加从服务器分散读压力;

Windows 找到mysql.ini(Linux 修改/etc/my.cnf文件,在[mysqld]中新增max_connections=N)。修改允许最大连接数max_connections=N,默认是100 一般设置到500~1000比较合适(这建立在机器能支撑的情况下,因为如果连接数越多,介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值,不能盲目提高设值。),最后重启mysql,一定要重启。

 

1
2
net stop mysql
net start mysql

2、​SET GLOBAL max_connections = 800;​​ 非持久,下次重启没啦

 

拓展:

​​查看mysql的最大连接数​​

1
show variables like '%max_connections%';

 

​查看mysql每台台主机的链接数​​

1
2
3
select * from information_schema.processlist;
 
select SUBSTRING_INDEX(host,':',1) as ip , count(*) from information_schema.processlist group by ip;

  

1
2
3
4
5
6
7
8
id       #ID标识,要kill一个语句的时候很有用
use      #当前连接用户
host     #显示这个连接从哪个ip的哪个端口上发出
db       #数据库名
command  #连接状态,一般是休眠(sleep),查询(query),连接(connect
time     #连接持续时间,单位是秒
state    #显示当前sql语句的状态
info     #显示这个sql语句

  

 

posted @   君乐豹  阅读(691)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2020-05-21 PHP 二维数组去重(保留指定键值的同时去除重复的项)
2019-05-21 laravel框架的注入
2019-05-21 基于Docker的Mysql主从复制
Live2D
欢迎阅读『mysql报错:(1040, ‘ny connections‘)』
点击右上角即可分享
微信分享提示