背景

有同学反应。产品连不上,登陆到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. Git 应用问题(一) —— failed to push some refs to git

    今天在本地创建了一个新的 repository,想关联到 Github 上的时候出现问题,如下: Gerrard@LAPTOP-79570TK2 MINGW64 /g/github-workspace ...

  2. [POI2005]SKA-Piggy Banks (Tarjan缩点)

    题目链接 Solution \(Tarjan\) 缩点乱搞. 考虑到环内如果有一个被打开,那么也就全部打开了. 然后很显然入度为 \(0\) 的点需要被砸破. 所以缩点之后找到入度为 \(0\) 的即 ...

  3. java追加文本到文件末尾

    public class Test { public static void main(String[] args) { method1("F:\\test.txt" , &quo ...

  4. [暑假集训--数位dp]hdu3709 Balanced Number

    A balanced number is a non-negative integer that can be balanced if a pivot is placed at some digit. ...

  5. Java-堆排序

    public class Main { public static void main(String[] args) { int a[] = {8, 2, 5, 6, 4, 8, 9, 7, 14, ...

  6. SharePoint 2013 App 开发—App开发概述

    基于安全性的考虑,SharePoint App 不能像其它两种方式一样,直接使用安全性更高的服务端代码的API.Javascript 扮演极为重要的角色,在SharePoint App中与ShareP ...

  7. TYVJ 1305 最大子序和 ++ 烽火传递

    描述 输入一个长度为n的整数序列,从中找出一段不超过M的连续子序列,使得整个序列的和最大. 例如 1,-3,5,1,-2,3 当m=4时,S=5+1-2+3=7当m=2或m=3时,S=5+1=6 输入 ...

  8. grunt 入门 应用grunt对代码进行压缩

    1.什么是grunt grunt的官方解释是:javascript世界的构建工具. 为何要构建工具? 一句话:自动化.对于需要反复重复的任务,例如压缩(minification).编译.单元测试.li ...

  9. 头条PC端的鼠标经过图片放大效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. jquery 同源跨域请求整理

    //同源ajax请求数据 function getData(url,paramjson,fn) { $.ajax({ type : "POST", //提交方式 url : url ...