目录

一、背景

二、原因分析

三、解决方案

设置连接超时时间


一、背景

前几天在测试线上环境的过程中,需要一直关注数据库的数据变化。由于线上的MySQL是用Docker搭建的,在本地连接时经常出现 "Too many connections" , 在百度上找了很久,找不到关于Docker环境下MySQL的设置问题。最后通过英文在Google上才找到Stackover上的一条解决方案,分享一下!

二、原因分析

1、使用Docker后,默认将MySQL的连接数设置为214,修改后不起作用

2、在my.ini中设置max_connections参数均无效

三、解决方案

解除Docker最大连接数限制有两种解决方案,具体使用哪种,请结合你的Docker环境!

第一种:在Docker启动容器时该参数:(适用于未使用DockerFile镜像构建文件和docker-compose文件构建的环境)

--ulimit nofile=65536:65536

第二种:修改Docker启动脚本实现:(适用于使用DockerFile镜像构建文件和docker-compose文件构建的环境)

(1)宿主机:vim /etc/init.d/docker

(2)在文件开始部分加入以下代码:

ulimit -u 65536 -HSn 65536

(3)保存并退出vim

Docker限制解除完后,我们再次修改最大连接数试一下!

1、进入MySQL容器

docker exec -it [container_id] /bin/bash

2、登录MySQL

mysql -u root -p[password]

3、查看最大连接数(默认为100)

SHOW VARIABLES LIKE '%max_con%';

4、设置最大连接数

SET GLOBAL max_connections = 1000;

5、退出MySQL容器,并重启容器,解除连接数限制成功!

设置连接超时时间

对于错误 Too many connections 1040 可以设置连接超时时间

打开配置文件 添加一下配置 vi /etc/my.cnf

wait_timeout = 600
interactive_timeout = 600

或者 执行sql语句

SET GLOBAL wait_timeout = 600;
SET GLOBAL interactive_timeout = 600;

docker mysql 报错 “Too many connections 1040“ 修改最大连接数 未生效 解决方法相关推荐

  1. PHP连接MySQL报错:Fatal error: Call to undefined function mysql_connect()之解决方法

    来源:http://www.blogjava.net/koradji/articles/336713.html [问题描述] PHP测试连接MySQL的程序如下: <?php $host='lo ...

  2. mysql 1033_mysql报错1033 Incorrect information in file: ''''xxx.frm''''问题的解决方法(图)...

    这篇文章主要介绍了关于mysql报错1033 Incorrect information in file: 'xxx.frm'问题的解决方法,文中通过示例代码介绍的很详细,需要的朋友可以参考借鉴,下面 ...

  3. Python使用pip安装报错ModuleNotFoundError: No module named ‘pip._internal.cli.main‘的解决方法

    Python使用pip安装报错ModuleNotFoundError: No module named 'pip._internal.cli.main'的解决方法   大家好,我叫亓官劼(qí guā ...

  4. XV6操作系统make报错Makefile:192: *** recipe commences before first target. Stop. 的解决方法

    XV6操作系统make报错Makefile:192: *** recipe commences before first target. Stop. 的解决方法   大家好,我叫亓官劼(qí guān ...

  5. dedecms后台报错“Notice: Use of undefined constant MYSQL_ASSOC - assumed ‘MYSQL_ASSOC‘ ”的解决方法

    dedecms后台报错"Notice: Use of undefined constant MYSQL_ASSOC - assumed 'MYSQL_ASSOC' "的解决方法 p ...

  6. centos在yum install报错:Another app is currently holding the yum lock解决方法

    centos在yum install报错:Another app is currently holding the yum lock解决方法 参考文章: (1)centos在yum install报错 ...

  7. phpmyadmin登录报错crypt_random_string requires at least one symmetric cipher be loaded 解决方法

    phpmyadmin登录报错crypt_random_string requires at least one symmetric cipher be loaded 解决方法 参考文章: (1)php ...

  8. 控制台报错:java.lang.ClassNotFoundException: javax.xml.bind.JAXBException之解决方法

    控制台报错:java.lang.ClassNotFoundException: javax.xml.bind.JAXBException之解决方法 参考文章: (1)控制台报错:java.lang.C ...

  9. msfconsole启动失败并报错`not_after=‘: bignum too big to convert into `long‘的解决方法

    msfconsole启动失败并报错`not_after=': bignum too big to convert into `long'的解决方法 参考文章: (1)msfconsole启动失败并报错 ...

最新文章

  1. Windows Server 2012 RDS系列:虚拟桌面化(5)
  2. 挖掘频繁模式、关联和相关
  3. 2018 KubeCon + CloudNativeCon完美落幕,行云献力
  4. 论文浅尝 | 通过知识到文本的转换进行知识增强的常识问答
  5. 深度剖析WinPcap之(九)——数据包的发送过程(8)
  6. Spring Boot文档阅读笔记-构建SOAP的web Service Client
  7. Django学习(一)---基本配置及创建项目、应用
  8. 华为p10 鸿蒙,全面上线!华为鸿蒙新消息传来,这是要彻底替换安卓
  9. 为什么我会被淘汰(续)
  10. java 多线程 最优_Java多线程与并发系列从0到1全部合集,强烈建议收藏!
  11. win10无线投屏花屏
  12. 三菱plc pwm指令_三菱PLC基础指令学习之双线圈输出心得
  13. ABAP 培训笔记 part 7
  14. 微信开发者工具 文件删除操作 二次确认框 设置
  15. matlab 产生时域波形,matlab时域波形图
  16. UPX3.95程序压缩命令及使用方法
  17. 第九十六章 SQL函数 MOD
  18. 分享一个:批量下载个性化桌面壁纸和各种唯美图片的方法
  19. Poser v7.0 1DVD(3D 角色动画)
  20. 大学英语四级考试必读必备

热门文章

  1. RH033 Unit 9 vim: An Advanced Text Editor
  2. java disruptor压测_Java并发框架Disruptor实现原理与源码分析(二) 缓存行填充与CAS操作...
  3. sentinel 阿里 原理_限流降级神器:哨兵(sentinel)原理分析
  4. LTE: UE特定的参考信号
  5. 5G — 3 大场景、8 大 KPI
  6. Linux_RHEL7_YUM
  7. Keil的HTM 文件分析
  8. Python代码注释
  9. ant design pro (十六)advanced 权限管理
  10. tomcat和nginx的使用