mysql报错:

[root@zabbix ~]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

问题排查总结:

问题1: mysqld 守护进程是否启动

解决:
[root@zabbix mysql]# service mysqld start
Starting mysqld: [ OK ]
[root@zabbix mysql]# /etc/init.d/mysqld status
mysqld (pid 2767) is running...
---成功启动--->解决!
--启动失败--->问题2
[root@zabbix mysql]# /etc/init.d/mysqld start
MySQL Daemon failed to start.
Starting mysqld: [FAILED]
[root@zabbix ~]# /etc/rc.d/init.d/mysqld status 
mysqld is stopped

问题2:由于异常退出,导致产生了mysql僵尸进程

再次启动时失败,
解决:
清除/var/run/mysql/下的僵尸进程 mysqld.pid
和 /var/lock/subsys/mysqld  文件
[root@zabbix mysqld]# ll /var/lock/subsys/mysqld 
-rw-r--r--. 1 root root 0 Sep 15 22:17 /var/lock/subsys/mysqld

问题3:/var/lib/mysql/ 日志目录满了

解决:
删除目录下的文件,
或者修改my.cnf配置文件,关闭日志输出

问题4: 配置文件/etc/my.cnf 的    socket 路径不对

不是 /tmp/mysql.sock
[root@zabbix mysql]# egrep -i socket /etc/my.cnf 
socket = /var/lib/mysql/mysql.sock
socket = /var/lib/mysql/mysql.sock
# All interaction with mysqld must be made via Unix sockets or named pipes.
解决:
创建软连接到对应文件或修改配置文件的socket路径
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

问题5:mysql 的进程运行目录不存在,或被删除

解决:
[root@zabbix mysql]# mkdir /var/run/mysqld
[root@zabbix mysql]# chmod 777 /var/run/mysqld/

问题6:权限问题,对应目录的权限

[root@zabbix mysql]# chmod 777 /var/lib/mysql

问题7:关闭SElinux

[root@zabbix mysqld]# setenforce 0
....

进程相关知识补充

var/lib/mysql

这些是mysql 的log文件,需要有什么事故的时候可以用这些文件来恢复数据,但是用到的时候会很少,可以修改配置文件不生成bin-log文件,默认的配置文件为my-huge.cnf 在你的/var/lib/mysql/support-files/目录下,vi my-huge.cnf 搜索log-bin 在前面加#号注释掉后就不会产生,log-bin文件了。

/var/lock/subsys作用

关于/var/lock/subsys目录
总的来说,系统关闭的过程(发出关闭信号,调用服务自身的进程)中会检查/var/lock/subsys
下的文件,逐一关闭每个服务,如果某一运行的服务在/var/lock/subsys下没有相应的选项。在系统关闭的时候,会像杀死普通进程一样杀死这个服务。
通过察看/etc/rc.d/init.d下的脚本,可以发现每个服务自己操纵时都会去查看/var/lock/subsys下相应的服务。
很多程序需要判断是否当前已经有一个实例在运行,这个目录就是让程序判断是否有实例运行的标志,比如说xinetd,如果存在这个文件,表示已
经有xinetd在运行了,否则就是没有,当然程序里面还要有相应的判断措施来真正确定是否有实例在运行。
通常与该目录配套的还有/var/run目录,用来存放对应实例的PID,如果你写脚本的话,会发现这2个目录结合起来可以很方便的判断出许多服务
是否在运行,运行的相关信息等等。
实际上,判断是否上锁就是判断这个文件,所以文件存在与否也就隐含了是否上锁。而这个目录的内容并不能表示一定上锁了,因为很多服务在启
动脚本里用touch来创建这个加锁文件,在系统结束时该脚本负责清除锁,这本身就不可靠(比如意外失败导致锁文件仍然存在),我在脚本里一般是结
合PID文件(如果有PID文件的话),从PID文件里得到该实例的PID,然后用ps测试是否存在该PID,从而判断是否真正有这个实例在运行,更加稳妥
的方法是用进程通讯了,不过这样的话单单靠脚本就做不到了。

mysql报错排查总结相关推荐

  1. 解决MySQL报错ERROR 2002 (HY000)【转】

    今天在为新的业务线搭架数据库后,在启动的时候报错 root@qsbilldatahis-db01:/usr/local/mysql/bin# ./mysql ERROR 2002 (HY000): C ...

  2. mysql报错error2002_mysql中异常错误ERROR:2002的解决方法分享

    最近在启动mysql的时候发现mysql报错了,错误代码是2002,通过查找相关的资料发现是var/lib/mysql 的访问权限问题,所以这篇文章主要介绍了mysql中异常错误ERROR:2002的 ...

  3. mysql报错error2002_mysql中异常出错ERROR:2002的处理办法分享

    软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...

  4. mysql报错1200_mysql配置文件不生效以及配置同步复制报错“The server is not configured as slave”解决办法...

    今晚给2台mysql数据库配置主从同步,因为驾轻就熟,所以很快就配置到最后一步了,谁知道执行最后一个命令"slave start"时给我来了个报错"ERROR 1200 ...

  5. mysql 报错 get error 28 from storage engine 解决方法

    mysql 报错 get error 28 from storage engine 解决方法 参考文章: (1)mysql 报错 get error 28 from storage engine 解决 ...

  6. Mysql报错Fatal error:Can't open and lock privilege tables

     Mysql报错Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 安装mysql后 ...

  7. 登录mysql报错2059,navicat连接mysql报错2059如何解决

    navicat连接mysql报错2059,如下图所示: 网上查询过后,发现这个错误出现的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密 ...

  8. python怎么捕获mysql报错

    一.前言 最近在运行python脚本的时候,经常出现:mysql server has gone away的错误,导致脚本停止运行.只是代码里面明明已经使用try: except 这种方式来捕获mys ...

  9. mysql报错:Reading table information for completion of table and column names

    一.前言 在使用命令行打开数据库的时候,报错如标题所示.这里总结记录一下. 二.错误原因 1.锁表的原因 参考链接:https://blog.csdn.net/ssergsw/article/deta ...

最新文章

  1. Docker 概念详解
  2. Python 学习 —— Numpy 、Pandas 傻傻分不清楚
  3. pycharm 如何将同一项目中不同模块代码分屏显示
  4. getContentResolver().query()方法selection参数使用详解(转)
  5. LeetCode 1790. 仅执行一次字符串交换能否使两个字符串相等
  6. 年度总结 是不公平和智障的产物
  7. C++中的static 成员变量的一些注意点
  8. aws python sns_使用AWS Lambd从AWS SNS读取时修改JSON消息
  9. python零基础能学吗-python 零基础该怎么学?
  10. 数据通信与计算机网络有哪些协议,​数据传输协议都有哪些?五种常用网络协议...
  11. 史上最全的vim快捷键
  12. 计算机竞赛acm试题,ACM-ICPC 2018 总决赛赛题
  13. 台式计算机怎么开声音,台式机如何设置声音
  14. 国内网通、电信代理服务器地址
  15. 从鹿晗关晓彤恋情事件看运维的节假日准备工作
  16. Yahoo!创始人:杨致远的故事
  17. mybatis注解开发动态sql
  18. Web(一)Web前端开发概述
  19. Java x的平方根
  20. springboot中配置logback实现打印控制台、写出文件,控制日志级别的方式

热门文章

  1. python编写一个登陆验证程序_python项目实战:实现验证码登录网址实例
  2. js模拟键盘某个键按下_教你认识电脑键盘上的按键基础篇,轻松认识键盘
  3. mysql 实时备份_MySQL实现实时备份[转]
  4. 3d slicer如何下载出radiomics_Lumion 10.0 软件下载及安装教程
  5. 微星主板黑苹果_游戏机也玩二次元!微星全新“钛舞Diana”点亮冬日激情
  6. 从零开始学习docker(十九)Swarm mode 集群服务间通信--RoutingMesh
  7. CentOS7 minimal 安装
  8. css为什么要清除浮动
  9. 快速提高Python数据分析速度的八个技巧
  10. 【Data Mining】机器学习三剑客之Numpy常用用法总结