背景

有同学反应。产品连不上,登陆到server。发现连接数不够了。

接着先重新启动mysql,发如今mysql启动的时候会报Waring

Warning Changed limits: max_open_files,max_connections=214

处理

/etc/security/limits.conf 中设置

* soft nofile 102400

* hard nofile 102400

登出server,又一次登录。

重新启动mysql,问题解决

过程

  • 第一时间想到mysql配置得太小,于是找到配置。发现配置的max_connections=5000,明显不是配置问题
  • Linux系统上默认的open files数目为1024, 有时应用程序会报Too many open files的错误,是由于open files 数目不够。

ulimit -a看下,果然是1024

疑问

为什么open files会决定max_connections大小?

max_connections和table_open_cache在系统上相应的是OS的文件句柄(fd)。假设这两个值添加,那么相应的也要添加OS的max_open_files设置。不然mysql就会依据max_open_files的值,去主动调整这两个设置。

參考:http://dev.mysql.com/doc/refman/5.5/en/table-cache.html

2015-07-22记

參数调整后。今天出现了client连接池用完。

在数据库运行 show processlist; 发现大量的query end的process:

| 167 | paas | xxxxxx  | edas        | Query   | 60400 | query end | INSERT INTO CON_METRIC (APP_ID, ECU_ID, MON_TYPE, MON_DATA, CREATE_TIME) VALUES ('ead5f836-c4c7-4ced |

insert、update、都有,状态都是query end。

查看数据库,cpu/内存都是正常。

发现磁盘满了,最后定位到bin-log日志导致两百多G被用完。

删除掉早期的bin-log。恢复正常

Mysql启动自己主动设置max_connections为其它值的更多相关文章

  1. mysql使用default来设置字段的默认值

    mysql创建表时,我们可以使用default来设置表字段的默认值,这样当向表中插入或添加数据时,如果没有为此字段设置任何值,则使用default默认值来填充该字段的值 在使用create table ...

  2. MySQL启动错误排查

    一般情况下mysql的启动错误还是很容易排查的,但是今天我们就来说一下不一般的情况.拿到一台服务器,安装完mysql后进行启动,启动错误如下: 有同学会说,哥们儿你是不是buffer pool设置太大 ...

  3. mysql启动错误排查-无法申请足够内存

    一般情况下mysql的启动错误还是很容易排查的,但是今天我们就来说一下不一般的情况.拿到一台服务器,安装完mysql后进行启动,启动错误如下: 有同学会说,哥们儿你是不是buffer pool设置太大 ...

  4. MySql安装步骤详解,MySql的root密码设置,启动MySql服务。

    1.下载mysql安装包,并解压,双击mysql-5.6.24-winx64.msi 2.点击下一步 3.选择custom 4.选择安装内容和位置,5个安装内容要选择will be installed ...

  5. mysql数据库安装、启动及权限设置

    1. 安装需安装mysql客户端和服务器端. Centos下,可用命令:yum install mysql安装mysql客户端:使用命令:yum install mysql-server安装mysql ...

  6. mysql启动參数(/etc/my.cnf)具体解释汇总

    在linux以下的/etc/my.cnf的參数具体解释汇总 MYSQL–my.cnf配置中文具体解释 basedir = path   使用给定文件夹作为根文件夹(安装文件夹). character- ...

  7. MySQL——my.cnf参数设置说明

    以下为个人总结的MySQL配置文件参数说明,如有错误,烦请大佬们留言指正,本人将第一时间修改.2019-12-10 12:32:08 [mysqld] server- # Mysql唯一标识,一个集群 ...

  8. mysql的"双1设置"-数据安全的关键参数(案例分享)

    mysql的"双1验证"指的是innodb_flush_log_at_trx_commit和sync_binlog两个参数设置,这两个是是控制MySQL 磁盘写入策略以及数据安全性 ...

  9. Mysql启动找不到mysql.sock文件问题(Centos7)

    刚装完Mysql5.7,将Mysql添加到开机自启.reboot之后mysql服务却没启动起来, 直接输入mysql –uroot –p ,出现如下错误,找不到mysql.sock文件.用servic ...

随机推荐

  1. 关于php ‘==’ 与 '===' 遇见的坑

    两个的区别所有PHPer都知道, 今天在遍历 xmlNode时,自己写的代码就碰坑了 想遍历xmlNode为数组 得到的xmlNode为 想要把所有的simpleXmlElement对象都遍历转成数组 ...

  2. Linux定时任务Crontab命令详解 转

      linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另 外, 由于使用者自己也可以设置计划任务,所 ...

  3. 二进制<4>

    位运算简介及实用技巧(四):实战篇 下面分享的是我自己写的三个代码,里面有些题目也是我自己出的.这些代码都是在我的Pascal时代写的,恕不提供C语言了.代码写得并不好,我只是想告诉大家位运算在实战中 ...

  4. Eclipse + Apache Axis2 发布SOAP WebService(三)第一个程序Hello Axis2 SOAP!

    因为Axis2同时支持SOAP和RESTful的WebService开发. 我的目标主要是RESTful,这里简单记录一个SOAP的小例子: 原文地址:https://jingyan.baidu.co ...

  5. IBM QMF下载

    官网下载页面: http://www-01.ibm.com/support/docview.wss?uid=swg27009383 官方BBS: https://w3-connections.ibm. ...

  6. wireshark 找不到网卡的解决办法

    1. 以管理员身份打开CMD命令行 输入命令:net start npf C:\WINDOWS\system32>net start npf NetGroup Packet Filter Dri ...

  7. 标准C程序设计七---43

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  8. 什麼是 struct,union,enumeration 的 tag ?

    struct tag { member-list }; union tag { member-list }; enum tag { member-list }; union test1 { int a ...

  9. R语言实战读书笔记(六)基本图形

    #安装vcd包,数据集在vcd包中 library(vcd) counts <- table(Arthritis$Improved)counts # 垂直barplot(counts, main ...

  10. BZOJ——1419: Red is good

    http://www.lydsy.com/JudgeOnline/problem.php?id=1419 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit:  ...