今天,莫名其妙的来了个mysql 2013错误,导致无法登陆mysql gui工具,而且dos也进不去,提示ping 127.0.0.1,百度+google后:
这是在使用 mysql 的过程中,困扰我很久的一个问题,今天终于找到根本原因,得以彻底解决,真是可喜可贺啊!下面详细地总结一下:
问题描述:在使用 mysql 的过程中发现,偶尔的查询或一段时间内的登录会失败,返回的错误提示信息为:Lost Connection During Query。
问题定位:这个问题在半年、甚至一年前都遇到过,由于它不是必现,往往你去看的时候没法重现,并且一个 mysql server 管理好多个数据库,查询又不是时刻发生的,常常不知所措。无法登录时,更是束手无策。最初,比较粗暴的方法是重启 mysql,问题在一段时间内能缓解。后来,使用 flush tables 也能在一段时间内缓解。再后来,通过查看 mysql 的错误日志,发现一共有三种提示信息:第一种:080724 19:55:05 [ERROR] Error in accept: Too many open files,这种明显是由于 mysql 打开文件个数过多,mysql 无法再“接收”新的连接进来,也就是没有办法登录,造成连接失败。第二种:080724 19:45:11 [ERROR] /usr/local/mysql/bin/mysqld: Sort aborted,这种是放弃了排序,但没有说明原因。第三种:080725 9:30:33 [ERROR] /usr/local/mysql/bin/mysqld: Can't open file: 'OperateRecord.MRG' (errno: 24),这种是打开文件失败,错误码是24,通过 perror 查询详细的错误原因是:OS error code 24: Too many open files,也是打开文件过多。再通过 status 查看 mysql 的打开文件个数,此时一般都接近 1000 个。再通过 show variables 查看 mysql 的配置,默认其打开文件个数为 open_files_limit 为 2048,按道理说这个大小是足够的。
问题解决:
1、重启mysql服务,解决问题,如果没有解决,参考第二条(我自己这样搞解决了)
原来 mysql 中的 open_files_limit 只是限制 mysql 这个进程打开的最大文件个数。而内核也会对 mysql 打开的进程数进行限制,并且优先级要高。通过 ulimit -a 查看 mysql 这个用户的最大打开文件个数,发现其值为 1024(linux 默认都是1024)。原来,mysql 已经打开了近 1000 个表,若再打开一个 merge 表(包含100个子表),导致文件句柄过多而失败。通过修改 /etc/security/limits.conf 配置文件,添加如下行:*                -       nofile          4096,把该限制放大,重新启动 mysql ,问题得到彻底解决。
设置 mysql 打开文件限制方法:把 set-variable=open_files_limit=10240 加到配置文件中。

最新文章

  1. ceph架构剖析
  2. C#中的@符号用法
  3. tinyPng Photoshop Plugin 安装的坑
  4. SparkConf加载与SparkContext创建(源码阅读一)
  5. C# 遍历指定目录下的所有文件及文件夹
  6. 【ShaderForge】溶解测试
  7. Oracle 11g 的官方支持周期和时限
  8. A Tour of Go Exercise: Maps
  9. Poj 2887-Big String Splay
  10. Java 编程的动态性, 第4部分: 用 Javassist 进行类转换--转载
  11. ADO.NET DataReader和DataAdapter的区别
  12. C++的第一天
  13. 将一个对象push到数组之中的几点问题
  14. 在Unity3D中利用 RenderTexture 实现游戏内截图
  15. python下如何安装.whl包?
  16. 利用WMITool解决Windows10 浏览器主页被hao123劫持问题
  17. java.text.DateFormat 日期格式化
  18. jQuery自定义alert,confirm方法及样式
  19. Appium 学习二:切换Webview
  20. samba 设置文件的读写权限

热门文章

  1. xmlhttp.readyState==4 && xmlhttp.status==200的探究
  2. kubectl命令使用
  3. MySQL-SQL语句中SELECT语句的执行顺序
  4. 【转】MyEclipse 9.0正式版官网下载(附Win+Llinux激活方法、汉化包)
  5. poj----Maximum sum(poj 2479)
  6. Android快速开发不可或缺的11个工具类(下载)
  7. .NET 跨平台RPC框架DotNettyRPC Web后台快速开发框架(.NET Core) EasyWcf------无需配置,无需引用,动态绑定,轻松使用 C# .NET 0配置使用Wcf(半成品) C# .NET Socket 简单实用框架 C# .NET 0命令行安装Windows服务程序
  8. SSAS多维数据集以及维度的建立
  9. 最常用的五类CSS选择器
  10. Js 常用函数【持续更新】