首页 >数据库 >mysql教程 >MySQL 启动服务报错解决方案_MySQL

MySQL 启动服务报错解决方案_MySQL

WBOY
WBOY原创
2016-05-30 17:10:021172浏览

概述  

 

文章主要介绍因为启动mysql服务报错引发的问题,顺带扩充一些其它的知识点,当前版本是red hat 6,mysql 5.6。

 

目录

 

概述

步骤

报错的源头

问题解决

问题分析

系统自动重启服务

总结

 

步骤

 

报错的源头

MySQL 启动服务报错解决方案_MySQL

问题解决

 

1.权限

 

报错的源头就是它了,一般这种问题首先会想到的就是权限问题,就是/var/lib/mysql该文件夹的权限

MySQL 启动服务报错解决方案_MySQL

上图可以看到mysql文件夹的用户和组都是mysql且mysql有写的权限,所以权限没有问题。

 

2.进程

 

查看/var/lib/mysql目录,发现没有生存mysql.sock文件,说明mysql没有启动,也可以登入mysql来测试

 

查看进程ps -ef|grep mysql

MySQL 启动服务报错解决方案_MySQL

发现存在mysql进程,原因就是它了,kill掉,kill -9 pid

 

再启动mysql服务,service mysql start,我当前的mysql版本是5.6,在5.7版本启动服务是service mysqld start,稍微有点差别。

MySQL 启动服务报错解决方案_MySQL

查看mysql目录,发现mysql.sock文件生成了

 

问题分析

 

还记得一开始的那个报错吗?

MySQL 启动服务报错解决方案_MySQL

明明已经存在mysql进程的但是为什么stop mysql服务提示找不到进程,主要的原因还是进程里面存储mysql的异进程,解决方法就是按照上面的kill掉这些进程,为什么会产生这种进程呢?我这里是我自己的操作失误,服务器启动的时候mysql自动已经启动了,然后我还执行了一次service mysql start,导致了这个问题,这也是问题的由来,网上有很多文章是针对这个的解决方法但并没有找出问题的由来,可能还会有其它原因导致这个问题,但是我这里就是因为我重复启动了服务,因为mysql5.7版本中mysql服务没有自动重启所以我经常会有重启服务的习惯,但是在5.6版本mysql就是随着系统自动启动所以就无需再重启服务了。

 

系统自动重启服务

 

chkconfig命令

 

使用chkconfig命令查询服务的重启情况,命令:chkconfig --list servername,也可以单独chkconfig --list查看所有

 

[0-6]分别代表linux系统的运行方式,0:停机,1:单用户模式,2:不带网络的多用户,3:不带图形界面的多用户,4:没有使用,5:带图形界面的模式x11也就是经常看到linux桌面(默认级别),6:重启

 

可以使用chkconfig --level 级别 服务名 on/off方式来关闭和启动服务

 

例如我们关闭mysql在linux2,3,4,5运行级别的自动启动,

 

chkconfig --level 2345 mysql off

 

这里有一篇关于自动启动服务的文章总结的很好:概述  

 

文章主要介绍因为启动mysql服务报错引发的问题,顺带扩充一些其它的知识点,当前版本是red hat 6,mysql 5.6。

 

目录

 

概述

步骤

报错的源头

问题解决

问题分析

系统自动重启服务

总结

 

步骤

 

报错的源头

 

问题解决

 

1.权限

 

报错的源头就是它了,一般这种问题首先会想到的就是权限问题,就是/var/lib/mysql该文件夹的权限

 

上图可以看到mysql文件夹的用户和组都是mysql且mysql有写的权限,所以权限没有问题。

 

2.进程

 

查看/var/lib/mysql目录,发现没有生存mysql.sock文件,说明mysql没有启动,也可以登入mysql来测试

MySQL 启动服务报错解决方案_MySQL

查看进程ps -ef|grep mysql

 

发现存在mysql进程,原因就是它了,kill掉,kill -9 pid

MySQL 启动服务报错解决方案_MySQL

再启动mysql服务,service mysql start,我当前的mysql版本是5.6,在5.7版本启动服务是service mysqld start,稍微有点差别。

 

查看mysql目录,发现mysql.sock文件生成了

MySQL 启动服务报错解决方案_MySQL

问题分析

 

还记得一开始的那个报错吗?

 

明明已经存在mysql进程的但是为什么stop mysql服务提示找不到进程,主要的原因还是进程里面存储mysql的异进程,解决方法就是按照上面的kill掉这些进程,为什么会产生这种进程呢?我这里是我自己的操作失误,服务器启动的时候mysql自动已经启动了,然后我还执行了一次service mysql start,导致了这个问题,这也是问题的由来,网上有很多文章是针对这个的解决方法但并没有找出问题的由来,可能还会有其它原因导致这个问题,但是我这里就是因为我重复启动了服务,因为mysql5.7版本中mysql服务没有自动重启所以我经常会有重启服务的习惯,但是在5.6版本mysql就是随着系统自动启动所以就无需再重启服务了。

 

系统自动重启服务

 

chkconfig命令

 

使用chkconfig命令查询服务的重启情况,命令:chkconfig --list servername,也可以单独chkconfig --list查看所有

MySQL 启动服务报错解决方案_MySQL

[0-6]分别代表linux系统的运行方式,0:停机,1:单用户模式,2:不带网络的多用户,3:不带图形界面的多用户,4:没有使用,5:带图形界面的模式x11也就是经常看到linux桌面(默认级别),6:重启

 

可以使用chkconfig --level 级别 服务名 on/off方式来关闭和启动服务

 

例如我们关闭mysql在linux2,3,4,5运行级别的自动启动,

 

chkconfig --level 2345 mysql off

 

有一篇关于自动启动服务的文章总结的很好:http://www.bitsCN.com/os/201301/185495.html

 

查看boot.log 日志

 

命令:cat /var/log/boot.log

 

boot.log记录了启动项的日志信息。

MySQL 启动服务报错解决方案_MySQL

总结

 

文章主要是写自己遇到问题发现问题找到问题的方法,顺便扩充了一些系统自动启动的信息。

 

查看boot.log 日志

 

命令:cat /var/log/boot.log

 

boot.log记录了启动项的日志信息。

 

总结

 

文章主要是写自己遇到问题发现问题找到问题的方法,顺便扩充了一些系统自动启动的信息。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn