【可能的原因】

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

CentOS 7下升级MySQL5.7.23的一个坑

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无法连接的原因和分析方法的更多相关文章

  1. MySQL远程连接不上的解决方法

    这篇文章主要为大家详细介绍了MySQL远程连接不上的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下   之前遇到过MySQL本地可以连接但是远程连不上的问题,没有记录,今天在云上新申请的服 ...

  2. 总结mysql服务器查询慢原因与解决方法

    本文针对MySQL数据库服务器查询逐渐变慢的问题, 进行分析,并提出相应的解决办法,具体的分析解决办法如下: 会经常发现开发人员查一下没用索引的语句或者没有limit n的语句,这些没语句会对数据库造 ...

  3. MYSQL远程连接速度慢的解决方法

    在局域网内连接其他机器的MYSQL,发现速度慢的很,不知道什么原因,总有几秒的延迟. 后来在网上发现解决方法,my.ini里面添加 [mysqld]skip-name-resolveskip-gran ...

  4. ERROR 1130:mysql 1130连接错误的有效解决方法

    今天在用sqlyog连接非本地的Mysql服务器的数据库,居然无法连接很奇怪,报1130错误, ERROR 1130: Host 192.168.3.100 is not allowed to con ...

  5. centos下MySQL Workbench连接时崩溃的解决方法

    在centos6.5中使用MySQL Workbench 6.3.8链接数据库崩溃,如果是在终端使用命令“mysql-workbench”打开的话会有如下错误提示: /usr/libexec/mysq ...

  6. CentOS7下MySQL服务启动失败原因及解决方法

    在重启阿里的CentOS7服务器后,重启MySQL 出现错误 Starting mysqld (via systemctl): Job for mysqld.service failed becaus ...

  7. mysql 远程连接速度慢的解决方案

    PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS ...

  8. 如何开启MySQL远程连接

    MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问,这对于 Web-Server 与 MySql-Server 都在同一台服务器上的网站架构来说 ...

  9. 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 ...

随机推荐

  1. spring boot + es

    用Elasticsearch构建电商搜索平台 refs: http://www.sojson.com/blog/176.html

  2. java 多线程和并行程序设计

    多线程使得程序中的多个任务可以同时执行 在一个程序中允许同时运行多个任务.在许多程序设计语言中,多线程都是通过调用依赖系统的过程或函数来实现的 为什么需要多线程?多个线程如何在单处理器系统中同时运行? ...

  3. 重新学习Servlet二

    重新学习Servlet public abstract class HttpServlet extends GenericServlet package com.xh.test.api; import ...

  4. 【转】Python数据类型之“数字(numerics)”

    [转]Python数据类型之“数字(numerics)” 上一节内容说的是“Python基本语法”,本节主要讲下Python中的数据类型. 存储在内存中的数据通常有两个属性: 在内存中的存放位置:这个 ...

  5. vux安装中遇到的坑

    1.输入 npm install vux --save 2.输入 npm install vux-loader --save-dev(没安装的时候,会一直报错) 3.build/webpack.bas ...

  6. SharePoint 2010 使用Install-SPSolution部署wsp包状态一直是”正在部署”

    1.服务器场信息如下: 2.使用下面命令部署,状态一直是"正在部署" Install-SPSolution –Identity xxxx.wsp –WebApplication h ...

  7. 16-client、offset、scroll系列

    1.client系列 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  8. sqlserver服务启动后停止,传递给数据库 'master' 中的日志扫描操作的日志扫描号无效

    电脑异常重启,导致SqlServer服务启动后,自动停止,在[计算机管理]-[事件查看器]-[windows日志]中进行查看系统错误日志,在[应用程序]下发现可能的错误信息有以下两条: 1.错误:传递 ...

  9. asp.net core 操作误区

    更新时提示数据变化错误 在更新事件中提示下面错误,在网上找了一下,大部分都是说是冲突问题,但是测试时同时只有一个客户端在进行操作,不应该会有冲突问题,后来发现编辑加载时的ID,和更新提交时的ID不同了 ...

  10. Spatial Transformer Networks

    参考:http://blog.csdn.net/xbinworld/article/details/69049680 论文的关键在理解这句话: 先通过V中坐标(xtarget,ytarget)以此找到 ...