问:怎样解决mysql连接过多的错误?

答:系统不能连接数据库,关键要看两个数据:

1、数据库系统允许的最大可连接数max_connections。这个参数是可以设置的。如果不设置,默认是100。最大是16384。

2、数据库当前的连接线程数threads_connected。这是动态变化的。

查看max_connections、max_connections的办法见后。

如果 threads_connected == max_connections 时,数据库系统就不能提供更多的连接数了,这时,如果程序还想新建连接线程,数据库系统就会拒绝,如果程序没做太多的错误处理,就会出现类似强坛的报错信息。

因为创建和销毁数据库的连接,都会消耗系统的资源。而且为了避免在同一时间同时打开过多的连接线程,现在编程一般都使用所谓数据库连接池技术。

但数据库连接池技术,并不能避免程序错误导致连接资源消耗殆尽。

这种情况通常发生在程序未能及时释放数据库连接资源或其他原因造成数据库连接资源不能释放,但强坛系统估计不会发生这种低级的编程错误。

该错误的简便的检查办法是,在刷新强坛页面时,不断监视threads_connected的变化。如果max_connections足够大,而 threads_connected值不断增加以至达到max_connections,那么,就应该检查程序了。当然,如果采用数据库连接池技术, threads_connected增长到数据库连接池的最大连接线程数时,就不再增长了。

从强坛出错的情况看,更大的可能性是数据库系统没能进行适当地配置。下面提出一点建议。供参考

让你们的工程师把MySQL的最大允许连接数从默认的100调成32000。这就不会老出现连接过多的问题了。

查看max_connections

进入MySQL,用命令:

show variables

查看数据库最大可连接数的变量值:

max_connections

查看threads_connected

进入MySQL,用命令:

show status查看当前活动的连接线程变量值:

threads_connected

设置max_connections

设置办法是在my.cnf文件中,添加下面的最后红色的一行:

[mysqld]

port=3306

#socket=MySQL

skip-locking

set-variable = key_buffer=16K

set-variable = max_allowed_packet=1M

set-variable = thread_stack=64K

set-variable = table_cache=4

set-variable = sort_buffer=64K

set-variable = net_buffer_length=2K

set-variable = max_connections=32000

修改完毕后,重启MySQL即可。当然,为了确保设置正确,应该查看一下max_connections。

注意:

1、虽然这里写的32000。但实际MySQL服务器允许的最大连接数16384;

2、除max_connections外,上述其他配置应该根据你们系统自身需要进行配置,不必拘泥;

3、添加了最大允许连接数,对系统消耗增加不大。

4、如果你的mysql用的是my.ini作配置文件,设置类似,但设置的格式要稍作变通。

mysql错误连接次数过多_解决Mysql连接过多错误的方法相关推荐

  1. mysql主从切换gtid不一致_解决mysql使用GTID主从复制错误问题

    解决mysql使用GTID主从复制错误问题 做MySQL主从的话肯定会遇到很多同步上的问题, 大多数都是由于机器宕机,重启,或者是主键冲突等引起的从服务器停止工作, 这里专门收集类似问题并提供整理解决 ...

  2. mysql 空闲链接超时时间_解决mysql 中共8小时空闲后连接超时的有关问题

    解决mysql 中共8小时空闲后连接超时的问题 我在做项目中发现一个规律,当应用程序和数据库建立连接时,如果超过了8个小时,应用程序句不会去访问数据库,数据库就会出现断掉连接的现象 .这时再次访问就会 ...

  3. mysql数据没有同步更新_解决MySQL的主从数据库没有同步的两种方法

    问题 今天发现Mysql的主从数据库没有同步 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多.发现很正常. show master statu ...

  4. mysql 4 中文模糊查询_解决MySQL中文模糊查询问题

    解决MySQL中文模糊查询问题: 我们在MySQL中进行中文模糊查询时,经常会返回一些与之不相关的记录,比如查找 "%a%" 时,返回的可能有中文字符,却没有 a 字符存在.对于此 ...

  5. mysql 5.6 登录 警告_解决mysql登录出现警告问题的简单方法

    解决mysql登录出现警告问题的简单方法 发布时间:2020-05-11 11:50:39 来源:亿速云 阅读:125 作者:三月 本文主要给大家介绍解决mysql登录出现警告问题的简单方法,文章内容 ...

  6. mysql 删除时间一个星期_解决mysql“Access denied for user #x27;root#x27;@#x27;localhost#x27;”...

    # mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (usi ...

  7. mysql查询字段纯字母_解决MySQL之中一个字段中无法精准的查询多语言语言字母的问题...

    解决MySQL之中一个字段中无法精准的查询多语言语言字母的问题 解决MySQL之中一个字段中无法精准的查询多语言语言字母的问题 目录 1.使用场景 2.实现过程及展示结果 2.1.修改字段排序规则为u ...

  8. mysql为什么无法完全删除_解决mysql无法完全删除

    解决mysql数据库无法干净删除导致无法重新安装问题: 1..打开电脑控制面板卸载MySQL数据库软件 2.控制面板中卸载后在删除C盘Program Files (x86)MySQL该目录下剩余的所有 ...

  9. mysql开通远程连接不上去_解决MySQL远程连接不上的问题

    其实这个问题对于熟手来说根本就不是什么问题,远程连接不上mysql 只需要下面123就可以搞定了: 1. 首先要排查网络问题和防火墙的问题 这个是必须的, 你要是连mysql的服务器都连不上, 那还访 ...

最新文章

  1. Redis 很屌,不懂使用规范就糟蹋了
  2. Design Pattern - Interpreter(C#)
  3. 给微软的依赖注入框架写一些扩展方法
  4. 【DP】错排问题(ybtoj DP-1-1)
  5. 章泽天将赴英国剑桥大学读书?证件照都是这么能打...
  6. 上传excel腾讯云服务器,使用SpringBoot上传文件到腾讯云
  7. malloc和calloc之间的区别?
  8. 2013=730 胆子要大,敢想敢做
  9. 阿里图标库iconfont下载和在旧有的iconfont中添加新的图标
  10. 【转】WinForm界面开发之布局控件WeifenLuo.WinFormsUI.Docking的使用
  11. Day77 Java框架 SSH案例_ERP(十一)_CXF框架_红日物流BOS系统_ERP物流信息管理
  12. 大一计算机ppt知识点,大一计算机总复习_图文.ppt
  13. HDU-3533 Escape
  14. 电脑远程开机pcie卡
  15. Android 中Goolgle 相关服务的移植[转]
  16. CSS基础学习-背景、边框的学习
  17. 宝塔如何安装多版本php,安装Lnmp(多PHP版本与宝塔)
  18. OpenGL ES glut glew glfw glad freeglut
  19. 超市服务器操作系统,超市收银系统 服务器 配置
  20. php.ini修改需要重启什么

热门文章

  1. [Discuz教程] discuz教程:原DB类的改进和使用方法
  2. Vue2中插槽使用——默认插槽、具名插槽、作用域插槽
  3. Ebay平台爆款怎么打造?
  4. 组合钻床动力滑台液压系统设计及PLC控制设计【设计说明书(论文)+CAD图纸+外文翻译】
  5. 大数据原理-关键技术
  6. 计算机毕业设计ssm校园学习空间预约系统w314l系统+程序+源码+lw+远程部署
  7. 绿光皮秒切割机_皮秒激光切割加工
  8. 计算机与俄语专业论文,俄语电子计算机专业词汇-20210519064006.docx-原创力文档
  9. 基于Android平台的记事本软件(Android Studio项目+报告+app文件)
  10. 今日单词|长期主义 (Day 1)