今天,启动MySQL服务器失败,如下所示:

[root@spark01 ~]# /etc/init.d/mysqld start
Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
[FAILED]

根据提示,分别使用systemctl status mysqld.service和journalctl -xe查看服务启动失败的原因

[root@spark01 ~]# systemctl status mysqld.service

?.mysqld.service - SYSV: MySQL database server.
Loaded: loaded (/etc/rc.d/init.d/mysqld)
Active: failed (Result: exit-code) since Wed -- :: CST; 40s ago
Docs: man:systemd-sysv-generator()
Process: ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=/FAILURE) Jan :: spark01 systemd[]: Starting SYSV: MySQL database server....
Jan :: spark01 mysqld[]: MySQL Daemon failed to start.
Jan :: spark01 mysqld[]: Starting mysqld: [FAILED]
Jan :: spark01 systemd[]: mysqld.service: control process exited, code=exited status=
Jan :: spark01 systemd[]: Failed to start SYSV: MySQL database server..
Jan :: spark01 systemd[]: Unit mysqld.service entered failed state.
Jan :: spark01 systemd[]: mysqld.service failed.

[root@spark01 ~]# journalctl -xe

--
-- Unit session-.scope has begun starting up.
Jan :: spark01 sshd[]: pam_unix(sshd:session): session opened for user spark by (uid=)
Jan :: spark01 su[]: (to root) spark on pts/
Jan :: spark01 su[]: pam_unix(su-l:session): session opened for user root by spark(uid=)
Jan :: spark01 polkitd[]: Registered Authentication Agent for unix-process:: (system bus name :1.25
Jan :: spark01 systemd[]: Starting SYSV: MySQL database server....
-- Subject: Unit mysqld.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit mysqld.service has begun starting up.
Jan :: spark01 mysqld[]: MySQL Daemon failed to start.
Jan :: spark01 mysqld[]: Starting mysqld: [FAILED]
Jan :: spark01 systemd[]: mysqld.service: control process exited, code=exited status=
Jan :: spark01 systemd[]: Failed to start SYSV: MySQL database server..
-- Subject: Unit mysqld.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit mysqld.service has failed.
--
-- The result is failed.
Jan :: spark01 systemd[]: Unit mysqld.service entered failed state.
Jan :: spark01 systemd[]: mysqld.service failed.
Jan :: spark01 polkitd[]: Unregistered Authentication Agent for unix-process:: (system bus name :.

但,可惜的时,这些信息并不能提供服务启动失败的真正原因。

这时候,不妨打开MySQL的告警日志,毕竟,只要MySQL服务启动,告警日志都会有输出信息的,果然

--20T10::.935771Z  [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2 - No such file or directory)
--20T10::.935795Z [ERROR] Can't start server: can't create PID file: No such file or directory
:: mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

MySQL服务在启动的时候,不能创建pid文件。

在终端看一下该目录是否存在,果然,不存在。

于是,创建了/var/run/mysqld/目录,重启MySQL服务

[root@spark01 ~]# mkdir -p /var/run/mysqld/

[root@spark01 ~]# /etc/init.d/mysqld start

Starting mysqld (via systemctl):  Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
[FAILED]

依旧报错,重新查看告警日志,有以下输出

--20T10::.183387Z  [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 13 - Permission denied)
--20T10::.183431Z [ERROR] Can't start server: can't create PID file: Permission denied
:: mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
:: mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

原来,/var/run/mysqld/的属主和属组还是root,mysql并不能在其中创建文件,后修改该目录的属主和属组,启动OK。

[root@spark01 ~]# ls -ld /var/run/mysqld/
drwxr-xr-x root root Jan : /var/run/mysqld/
[root@spark01 ~]# chown mysql.mysql /var/run/mysqld/
[root@spark01 ~]# /etc/init.d/mysqld start
Starting mysqld (via systemctl): [ OK ]

总结:

以前在玩Kubernetes的时候,常遇到启动失败的情况,根据systemctl的提示,通过systemctl status mysqld.service和journalctl -xe命令查看服务启动失败的原因往往并不如人意,反而给了一种错误的暗示,以为这个跟系统有关。其实,通过查看服务的日志,往往更能清晰的知道服务启动失败的原因。

CentOS 7下MySQL服务启动失败的解决思路的更多相关文章

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

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

  2. CentOS下,mysql服务启动失败

    mysql服务启动失败,可以使用排除法查找原因: 如果修改了my.cnf后重启mysql服务失败,大多数情况下都是配置文件有错误, 可以通过备份原来的配置文件,然后将配置文件清空,只剩下[mysqld ...

  3. 破解windows下MySQL服务启动不了的情况下不能对其进行全然卸载的解决方式

    下面的文章主要介绍的是在MySQL服务启动不了的情况下,不能对其进行全然卸载的实际解决的方法的描写叙述,下面就是对解决MySQL服务启动不了的情况下详细方案的描写叙述,希望在你今后的学习中会对你有所帮 ...

  4. win2003 HookPort 服务启动失败的解决办法!

    Win2003系统每次开机启动时都弹出个对话框报HookPort 服务启动失败,很多网友都遇到同类问题,问题根源是360安全卫士引起的,官方一直没有给出解决方案 问题描述:Win2003系统每次开机启 ...

  5. Java Tomcat 启动失败的解决思路

    好久没写新博文了,离自己要求的每年几篇的目标也是渐行渐远. 最近在学习Java,也是从基础学习,因为我是一个.net开发人员,所以学习的成本相对低些.Java JDK,JRE,Tomact 的安装及配 ...

  6. mysql 服务启动失败

    mysql 数据库连接失败 1.用naviCat Preiumn 连接本地的mysql 失败,查找原因,mysql 数据库服务没有启用,但是在服务列表里面没有找到对应的mysql 服务. 所以在cmd ...

  7. mysql服务启动失败

    #!/bin/bash . /etc/rc.d/init.d/functions MPORT=`netstat -atnlp | grep 3306| wc -l` MPROC=`ps ax | gr ...

  8. mysql服务启动不了解决方法

    sudo lsof |grep deleted  找占用大的kill一下,  一般是tomcat log和zookeeper的out比较吃磁盘 du -h --max-depth=1 / 今天作死,想 ...

  9. linux中mysql连接不上,服务启动失败等问题解决

    confluence问题解决方式 1)针对confluence访问页面报500与连接失败等问题 首先我们登陆部署confluence的服器 10.15.4.115 2)重启mysql服务,发现重启失败 ...

随机推荐

  1. 关于dev无法更新、调试的问题

  2. SQL执行效率1

    第一种方法:使用insert into 插入,代码如下: ? 1 2 3 4 5 6 7 $params = array('value'=>'50′); set_time_limit(0); e ...

  3. WebService的一些案例

    既然要实现WebService,首先先来创建一个Service类 package cn.happy.webservice; import javax.jws.WebService; import ja ...

  4. Ubuntu 安装Theano

    参考:http://deeplearning.net/software/theano/install_ubuntu.html 编译安装python3.4:http://blog.aboutc.net/ ...

  5. VS2012 2013 显示查找功能 无法具体定位 解决方法

    问题的现象:通过使用 Ctrl + Shift + F 也就是Find In Files功能,使用之后只能显示统计结果,不显示具体行.如下图     regedit 中在注册表中查找:HKEY_CLA ...

  6. SVG学习备忘录

    最近在写一个基于SVG的前端流程图\拓扑图图形框架. 一些容易忽略的问题备忘如下: 1.JS添加SVG元素需要使用document.createElementNS("http://www.w ...

  7. 一种让 IE6/7/8 支持 media query 响应式设计的方法

    在不同的浏览器宽度下使用不同的 CSS 声明,常见的方案是使用 media query,但这个方案不支持 IE9 以下浏览器. 国外比较流行的 UI 框架 bootstrap v3 版本中使用 med ...

  8. [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图

    [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图 1.活动图简介 定义:是阐明了业务用例实现的工作流程. 业务工作流程说明了业务为向 ...

  9. R in Action 读书笔记(5)

    MindMapper原文件

  10. Got the Best Employee of the year 2015 Star Award

    Got "The Best Employee of the year 2015 Star Award" from the company, thanks to all that h ...