too many connections是由于mysql配置中连接数过少,不足以支撑当前的并发数,too many open files是由于mysql open_files_limit的值大小不够。

最开始mysql日志出现的错误为too many connections,mysql配置文件已经配置了最大连接数max_connections=2000,登录到mysql中,查看mysql连接收:show processlist;  (查看详细执行信息使用:show full processlist;),发现线程数只有500多,并没有达到配置文件中的最大配置,登录mysql查看其生效的最大连接数及mysql open_files_limit

mysql> show variables like '%max_connections%';+-----------------+-------+

| Variable_name | Value |

+-----------------+-------+

| max_connections | 214 |

+-----------------+-------+

1 row in set (0.00sec)

mysql> show variables like '%open_files_limit%';+------------------+-------+

| Variable_name | Value |

+------------------+-------+

| open_files_limit | 1024 |

+------------------+-------+

1 row in set (0.00 sec)

配置文件中配置的连接数2000未生效

linux一切皆文件,查看linux open files

[root@localhost work]# ulimit -a

corefile size (blocks, -c) 0data seg size (kbytes,-d) unlimited

scheduling priority (-e) 0

file size (blocks, -f) unlimited

pending signals (-i) 7739max locked memory (kbytes,-l) 64max memory size (kbytes,-m) unlimited

open files (-n) 1024pipe size (512 bytes, -p) 8POSIX message queues (bytes,-q) 819200real-time priority (-r) 0stack size (kbytes,-s) 8192cputime (seconds, -t) unlimited

max user processes (-u) 7739virtual memory (kbytes,-v) unlimitedfile locks (-x) unlimited

open files的大小只有1024,需要调大一些,设置为65535

vim /etc/security/limits.conf

添加

* soft nofile 65535

* hard nofile 65535

重新打开ssh窗口,登录,查看设置结果

[root@localhost ~]# ulimit -n65535

使mysql配置生效有如下两种方式

1、登录mysql,查看连接数,没有变化,还是214,在mysql开机启动服务文件中添加如下

vim /usr/lib/systemd/system/mysql.service

LimitNOFILE=infinity

LimitMEMLOCK=infinity

重启mysql

systemctl daemon-reload

systemctl restart mysql

查看最大连接数连接数及mysql open_files_limit,可以发现open_files_limit的大小被设置为与unlimit -n大小一致

mysql> show variables like '%open_files_limit%';+------------------+-------+

| Variable_name | Value |

+------------------+-------+

| open_files_limit | 65536 |

+------------------+-------+

1 row in set (0.00sec)

mysql> show variables like '%max_connections%';+-----------------+-------+

| Variable_name | Value |

+-----------------+-------+

| max_connections | 2000 |

+-----------------+-------+

1 row in set (0.00 sec)

2、如果未使用开机启动,使用mysql_safe也可以使配置生效,但open_files_limit的大小被设置为了10000

mysql> show variables like '%open_files_limit%';+------------------+-------+

| Variable_name | Value |

+------------------+-------+

| open_files_limit | 10000 |

+------------------+-------+

1 row in set (0.00sec)

mysql> show variables like '%max_connections%';+-----------------+-------+

| Variable_name | Value |

+-----------------+-------+

| max_connections | 2000 |

+-----------------+-------+

1 row in set (0.00 sec)

总结:

调大linux系统open files

设置mysql max_connections

1、如果使用开机启动,则在service文件中添加

LimitNOFILE=infinity

LimitMEMLOCK=infinity

使配置生效,并重新启动

systemctl daemon-reload

systemctl restart mysql

2、未使用开机启动,使用mysql_safe启动(open_files_limit被设置为10000,如果不够大,可以在配置文件my.cnf中修改)

mysqld_safe --defaults-file=/etc/my.cnf &

mysql 5.7 连接数_mysql5.7出现大量too many connections及too many open files错误,且配置最大连接数未生效...相关推荐

  1. windows mysql 配置最大连接数_MYSQL 最大连接数设置

    在使用MySQL数据库的时候,经常会遇到这么一个问题,就是 "Can not connect to MySQL server. Too many connections"-mysq ...

  2. mysql cluster 设置单向复制_mysql5.6做单向主从复制Replication

    原理场景:MySQL从3.23版本开始提供复制功能.指的是将主数据库的DDL和DML操作通过二进制日志传到从服务器(也叫从库),然后在从库上对这些日志重新执行, 从而使得从库和主库的数据保持同步. 优 ...

  3. mysql拷贝文件安装_Mysql5.7.18的安装与主从复制图文详解

    CentOS6.7安装mysql5.7.18 1.  解压到/usr/local目录 # tar -zxvf mysql-5.7.18-linux-glibc2.5-i686.tar.gz -C /u ...

  4. windows7 mysql 5.6使用_MySQL5.6 windows7下安装及基本操作

    图形界面安装MySQL5.6 关于图形界面的安装,网上相关相关资料比较多,此处省略安装过程.安装过程中选择安装路径.所需组件及root账号密码. 1.目前针对不同用户,MySQL提供了2个不同的版本: ...

  5. java mysql SSM实现的校园门户平台网站系统源码+含开题报告与需求分析+包安装配置

    下载地址:https://download.csdn.net/download/ouyangxiaobai123/22174377 项目介绍: java mysql SSM实现的校园门户平台网站系统源 ...

  6. docker mysql 报错 “Too many connections 1040“ 修改最大连接数 未生效 解决方法

    目录 一.背景 二.原因分析 三.解决方案 设置连接超时时间 一.背景 前几天在测试线上环境的过程中,需要一直关注数据库的数据变化.由于线上的MySQL是用Docker搭建的,在本地连接时经常出现 & ...

  7. mysql压缩包安装教程_MySQL5.7压缩包安装教程

    下载 在MySQL官网Download页面上默认只能下载最新的版本,现在MySQL5.7已经被放到了archives这个页面历史版本里. 这个链接:Download MySQL Community S ...

  8. 5.7版本mysql操做语法_mysql-5.7.25安装及常用语法

    我下的是免安装版的压缩文件包,可以选择下载.msi的程序包,那样就可以通过常见的图形界面来进行安装配置了 参考链接:https://blog.csdn.net/qq_23994787/article/ ...

  9. mysql 5.7 编译_Mysql5.7版本编译安装及配置

    配置yum安装方式 1.配置本地yum源 1 vim /etc/yum.repos.d/rhel-source.repo2 [rhel-source] 3 name=Red Hat Enterpris ...

  10. mysql 5.7 收费_MySQL5.7 常用用户操作

    目录 mysql5.7 常用用户操作 之前的一篇博文讲述了安装mysql,但是我们在安装后mysql之后的操作中一般不使用root用户来进行相应的操作,所以要新建用户,并赋予相应的权限后,才能更好的使 ...

最新文章

  1. Ubuntu下makefile及gcc生成静态库动态库的简单使用举例
  2. 湖北黄冈中学2021年高考成绩查询,【喜报】2020年黄冈中学高考成绩出炉,600分以上人数556人...
  3. undefined reference to 'pthread_create'问题解决
  4. MySQL的多版本并发控制(MVCC)
  5. leetcode37. 解数独
  6. Struts2下创建自定义类型转换器(表单中日期的处理)
  7. PHP读取sphinx实例
  8. vue修改计算属性的值_Vue语法高级之计算属性和侦听器
  9. VS Code 中的文件添加图标的插件vscode-icons
  10. Facebook Graph API(2)--读取数据之picture
  11. GIve Me A Welcome Hug!
  12. 练手|常见近30种NLP任务的练手项目
  13. Python(二):基本数据类型、序列的基本操作
  14. Oracle with..as使用方法
  15. Qt 中使用librdkafka librdkafka++ 创建消费者
  16. VSCODE快速添加到鼠标右键菜单
  17. 知人者智自知者明--所有的懊恼都是实力的差劲--我的第一次面试
  18. win10 修改 Inter VT-x
  19. java2048ai,2048小游戏ai设计
  20. 一个笼子里有鸡和兔,现在只知道里面一共有 40 个头,100 只脚,鸡兔各有多少只?

热门文章

  1. ProtoBuf和Netty的简单使用
  2. Tomcat配置虚拟路径使上传文件和服务器分离及上传文件
  3. 字节码指令之控制转移指令
  4. 文件拷贝--单一文件过大
  5. Android 在 Fragment 中使用 getActivity() NullPointException 的思考和解决办法
  6. WebApp的自动测试工具: Jenkins
  7. IoC容器4——依赖
  8. ISI CVPR journal ranking
  9. 2011年工作安排_计算机技术与软件专业技术资格考试
  10. 一段javscript 省市连动代码