谈谈MySQL无法连接的原因和分析方法
【可能的原因】
MySQL无法连接的原因有很多,比如:
1、数据库的请求量突增,实例连接数超过max_connections,或用户连接数超过max_user_connections,
这种情况连接时客户端一般会抛出对应的错误信息
如果max_connections打满,无法连到MySQL,可以尝试用gdb来修改参数
sudo gdb -p $(cat /var/run/mysqld/mysqld.pid) -ex "set max_connections=6000" –batch
2、MySQL使用的Max open files或Max processes超过操作系统限制
修改系统配置文件,可参考前面的文章:
CentOS 6
MySQL Can't create a new thread报错分析
CentOS 7
3、 磁盘空间不足
4、 服务器负载过高,CPU消耗高,IO响应非常慢的情况也可能导致MySQL Hang住
5、 MySQL内部锁等待
可以通过show engine innodb status的内容来判断
6、 MySQL Bug引起
【分析思路】
如果用客户端连不上MySQL的情况下
1、 先检查MySQL 的error log文件和操作系统的日志文件
2、 检查是否网络问题,ping和telnet ip port
3、 查询性能监控工具,观察连接数或并发线程数是否过高
4、 检查是否服务负载过高引起
5、 通过mysqld的进程号在系统层面来找到句柄的信息,来查看show engine innodb status的内容,方法如下:
(1) 执行lsof -c mysqld|grep deleted,可以看到/data/tmp/ibkB49ZF映射的5号文件,句柄内容非空,它就是show engine innodb status的内容
(2) 找到mysqld的进程号,echo `pidof mysqld`,7358
(3) 查看5号文件的内容cat /proc/7358/fd/5
6、通过systemtap工具,可以在不登录MySQL的情况下查看正在执行的语句,脚本如下(不建议在生产环境直接使用)
谈谈MySQL无法连接的原因和分析方法的更多相关文章
- MySQL远程连接不上的解决方法
这篇文章主要为大家详细介绍了MySQL远程连接不上的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 之前遇到过MySQL本地可以连接但是远程连不上的问题,没有记录,今天在云上新申请的服 ...
- 总结mysql服务器查询慢原因与解决方法
本文针对MySQL数据库服务器查询逐渐变慢的问题, 进行分析,并提出相应的解决办法,具体的分析解决办法如下: 会经常发现开发人员查一下没用索引的语句或者没有limit n的语句,这些没语句会对数据库造 ...
- MYSQL远程连接速度慢的解决方法
在局域网内连接其他机器的MYSQL,发现速度慢的很,不知道什么原因,总有几秒的延迟. 后来在网上发现解决方法,my.ini里面添加 [mysqld]skip-name-resolveskip-gran ...
- ERROR 1130:mysql 1130连接错误的有效解决方法
今天在用sqlyog连接非本地的Mysql服务器的数据库,居然无法连接很奇怪,报1130错误, ERROR 1130: Host 192.168.3.100 is not allowed to con ...
- centos下MySQL Workbench连接时崩溃的解决方法
在centos6.5中使用MySQL Workbench 6.3.8链接数据库崩溃,如果是在终端使用命令“mysql-workbench”打开的话会有如下错误提示: /usr/libexec/mysq ...
- CentOS7下MySQL服务启动失败原因及解决方法
在重启阿里的CentOS7服务器后,重启MySQL 出现错误 Starting mysqld (via systemctl): Job for mysqld.service failed becaus ...
- mysql 远程连接速度慢的解决方案
PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS ...
- 如何开启MySQL远程连接
MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问,这对于 Web-Server 与 MySql-Server 都在同一台服务器上的网站架构来说 ...
- blocked because of many connection errors; unblock with 'mysqladmin flush-hosts;MySQL在远程访问时非常慢的解决方法;MySql链接慢的解决方法
一:服务器异常:Host 'xx.xxx.xx.xxx' is blocked because of many connection errors; unblock with 'mysqladmin ...
随机推荐
- struts2在配置文件与JSP中用OGNL获取Action属性
参考:Struts与OGNL结合 struts2在配置文件中可以调用Action的属性,在JSP页面也可以取出Action的属性值(前提是属性有get,set方法). 第一个例子: 1.Action中 ...
- 【转】Python中的eval()、exec()及其相关函数
[转]Python中的eval().exec()及其相关函数 刚好前些天有人提到eval()与exec()这两个函数,所以就翻了下Python的文档.这里就来简单说一下这两个函数以及与它们相关的几个函 ...
- 使用python中的matplotlib 画图,show后关闭窗口,继续运行命令
使用python中的matplotlib 画图,show后关闭窗口,继续运行命令 在用python中的matplotlib 画图时,show()函数总是要放在最后,且它阻止命令继续往下运行,直到1.0 ...
- grep基础用法
功能:全面搜索正则表达式并把行打印出来,是一种强大的文本搜索工具. grep yuan filename :在文件中搜索yuan 这个字符串,并把含有此字符串的行打印出来,也可以多文件搜索. g ...
- 为你的VPS进行一些安全设置吧
安全是一个VPS最基本的必备条件,若您的VPS三天两头被人攻破,那么对于网站来说也没什么意义了,所以,在创建了Web服务器之后,您首先要做的事情就是将您的VPS加固,至少让普通黑客没有办法能够攻破您的 ...
- excel导出的时候从程序后台写到excel里的是文本,所以无法在excel中计算怎么办?
文章引用自:http://www.cnblogs.com/rayray/p/3414452.html excel导出的时候从程序后台写到excel里的是文本,所以无法在excel中计算怎么办? 需要导 ...
- java多线程快速入门(十三)
死锁产生的原因(必须有两个线程.必须有多个锁.锁之间必须有引用的过程) package com.cppdy; class MyThread9 implements Runnable { private ...
- Centos7中查看IP并启动网卡
1.开机,输入用户名root和密码 2.查看IP地址:ip addr 3.使用vi编辑器打开配置文件,注意vi后面有空格: vi /etc/sysconfig/network-scripts/ifcf ...
- pytest十二:cmd命令行参数
命令行参数是根据命令行选项将不同的值传递给测试函数,比如平常在 cmd 执行”pytest —html=report.html”,这里面的”—html=report.html“就是从命令行传入的参数对 ...
- python 全栈开发,Day57(响应式页面-@media介绍,jQuery补充,移动端单位介绍,Bootstrap学习)
昨日内容回顾 ajax //get post 两种方式 做 请求 get 主要是获取数据 post 提交数据 同一个路由地址 既可以是get请求也可以是post请求 一个路由对应一个函数 get请求 ...