诡异的too manany connections报错

问题现象:

应用重启,日志里面报错too manany connections

问题分析:

昨天割接,线上该业务线应用全部重启,一个有38个应用,每个应用3台服务器,每台服务器启动5个链接:

num=38*3*5=570;

570<2048,我们默认的应用最大连接数是2048,怎么会报too manany connections错误。

查看配置文件/etc/my.cnf,确实是max_connections=2028;

登录数据库:

mysql> show variables like ‘%max%connection%‘;
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| max_connections | 214 |
| max_user_connections | 0 |
+----------------------+-------+
2 rows in set (0.00 sec)

神奇的max_connetions 居然成了214,经排查并没有认为修改过该参数值。

[[email protected] ~]# ps -ef|grep mysqld_safe
root 2676 1815 0 12:32 pts/0 00:00:00 grep mysqld_safe
mysql 23450 1 0 Oct10 ? 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/mysql/data --pid-file=/mysql/data/mysql.pid

查看mysql实例启动进程,是使用mysql用户启动的,而在系统参数配置中,除mysql用户外,其它用户都限制了最大创建连接为1024.因为2048>1024

所以以mysql用户启动mysql实例时,会从默认值214开始分配,以至于max_connetions =214;

[[email protected] ~]# cat /etc/security/limits.d/90-nproc.conf
# Default limit for number of user‘s processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

* soft nproc 1024
root soft nproc unlimited

解决方式:

1、以root用户启动mysql实例;

2、向 /etc/security/limits.d/90-nproc.conf文件中追加如下参数:

mysql soft nproc 65535
mysql hard nproc 65535

使配置生效后,再已mysql用户启动mysql实例。

时间: 2024-08-10 00:05:12

诡异的too manany connections报错的相关文章

记一次django的诡异报错 Could not parse the remainder: &#39;=&#39; from &#39;=&#39;

如题,一个展示日志的功能,调用该模板文件时报错,Could not parse the remainder: '=' from '='.这行模板语言在上面出现过同样的,仅仅是改了'<='右端的整数大小,而且该有的标签也不少. 百般思考无解,stackoverflow和百度都没答案.后来重新看了下开发文档,发现是Django的版本不对,开发时用的1.8.2,我部署时用的1.11.5.重新安装低版本的django后问题解决.但原因仍待查. 记一次django的诡异报错 Could not parse

mysql连接数太小,导致网站报错mysql:Too many connections

2017.9.14 一个网站上线前压力测试 网页打开报错mysql:Too many connections 一看就是mysql连接数设置过小导致的 进mysql查看连接数设置 show variables like '%max_connections%'; 只有151,怎么可以,果断决定提高到1000 PS:服务器性能可以的,哈哈 打开MySQL配置文件my.cnf添加 max_connections=1000  重启MySQL即可. 再次测试没问题咯! 方法二:命令行临时修改. set gl

mongodb报错:connection refused because too many open connections: 819

问题: 发现mongodb无法连接,查看mongodb日志,出现大量的如下报错: [initandlisten] connection refused because too many open connections: 819 mongodb的连接数到达819后,就无法增加,所以无法连接上去. 分析解决: 1.maxConns 限制 默认情况下,在Linux系统中,mongodb的最大连接数为819. 可以修改mongodb的最大连接数,修改其配置文件mongod.conf: maxConns

hive报错 Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:For direct MetaStore DB connections,

学习hive 使用mysql作为元数据  hive创建数据库和切换数据库都是可以的 但是创建表就是出问题 百度之后发现 是编码问题 特别记录一下~~~ 1.报错前如图: 2.在mysql数据库中执行如下: 1 ALTER DATABASE hive CHARACTER SET latin1; 3.修改编码后创建数据库成功:

微信小程序诡异错误this.setData报错

先说原因: function声明的函数和箭头函数的作用域不同,这是一个不小心坑的地方.可参考箭头函数说明:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions 所以对于这个结果,还是换回es5的function函数去写最好了. 箭头函数和function的区别: 箭头函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象 箭头函数不可以当作构造函数,也就

微软私有云分享(R2)10-SCVMM报错干货一小波

对于运维工作而言,稳定运行当然没啥说的,让人头痛的都是出现了一大波错误却无法解决. 今天为大家分享一下我在SCVMM2012(SP1和R2) 中遇到的一大波错误. =======都是干货============ 12704,无法连接到Hyper-V服务,一般来说这时候是网络有问题造成SCVMM2012 R2与Hyper-V主机主机失去联系.这时候要先排查网络,看用Hyper-V能否连接,连接不了就重启机器吧. 25322,群集悲剧,新增加的群集节点配置和其他节点不一样,这个就是看提示,慢慢让全新

ssh远程报错ssh_exchange_identification: read: Connection reset by peer

ssh远程登录报错: [[email protected] ~]$ ssh     198.44.241.34 ssh_exchange_identification: read: Connection reset by peer 初步原因锁定: 1-服务器防火墙限定, 2-是否达到ssh的最大连接数,超过之后会服务器端会拒绝新的连接,直到有新的连接释放出来 3-/etc/hosts.allow和/etc/hosts.deny配置文件限定ip登录 解决方案: 1 firewall-cmd --l

双台服务器rsync同步报错(code 5) at main.c(1503) [sender=3.0.6]

环境:某某项目的代码机器70配置有双网卡:232.182.23.70(联通)61.10.45.70(电信) 另一台代码机器是沧州联通的代码机器102,配置单网卡:121.15.1.102(联通) rsync服务端服务器121.15.1.102上的配置文件rsyncd.conf 一开始/etc/rsyncd.conf 里面配置的允许ip:为61.10.45.70 [[email protected] tmp]# cat /etc/rsyncd.conf ##rsyncd.conf start##

activemq在windows下启动报错,闪退问题

2015-04-22 22:42:36,825 | WARN | Exception thrown from LifecycleProcessor on context close | org.apache.activemq.xbean.XBeanBrokerFactory$1 | WrapperSimpleAppMain java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' be