修改mysql配置文件之后,使用service mysqld restart 重启,发现停止成功但是启动失败了。

Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

系统提示通过 systemctl status mysqld.service  或者 journalctl -xe 命令来查看详情。我们一个一个来分析。

1、执行 systemctl status mysqld.service

[root@lee ~]# systemctl status mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: deactivating (final-sigterm) (Result: exit-code) since Wed 2019-05-15 08:54:07 CST; 50s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 32685 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=1/FAILURE)
  Process: 32668 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 30830 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/mysqld.service
           └─32689 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

May 15 08:54:57 lee systemd[1]: mysqld.service holdoff time over, scheduling restart.
May 15 08:54:57 lee systemd[1]: Starting MySQL Server...
May 15 08:54:57 lee systemd[1]: mysqld.service: control process exited, code=exited status=1

通过上面标红的错误信息我们可以看到,mysqld主进程没有启动起来,其他就没有什么详细信息了。我们接着往下看。

2、执行 journalctl -xe

May 15 09:03:17 lee systemd[1]: Unit mysqld.service entered failed state.
May 15 09:03:17 lee systemd[1]: mysqld.service failed.
May 15 09:03:17 lee systemd[1]: mysqld.service holdoff time over, scheduling restart.
May 15 09:03:17 lee systemd[1]: Starting MySQL 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.
May 15 09:03:17 lee mysqld[10921]: Initialization of mysqld failed: 0
May 15 09:03:17 lee systemd[1]: mysqld.service: control process exited, code=exited status=1
May 15 09:03:19 lee systemd[1]: Failed to start MySQL 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.

没啥有用的信息,就告诉我们启动失败了。

3、现在我们就只知道主进程执行不成功,其他信息一无所知,这可咋整。

作为一个程序员出了问题自然是想到看日志来查找原因,我们来看看mysql的启动日志。首先看下my.cnf中日志的位置,log-error=/var/log/mysqld.log,我的日志是存在这了,打开日志看个究竟。

最后面能看到这么一大坨的东西,看下日志时间相差了8小时,这是因为我没有去配置时区,当然这个不是重点。

2019-05-15T01:08:24.682793Z 0 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2019-05-15T01:08:24.682795Z 0 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2019-05-15T01:08:24.682797Z 0 [Note] Shutting down plugin 'INNODB_CMPMEM'
2019-05-15T01:08:24.682799Z 0 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2019-05-15T01:08:24.682800Z 0 [Note] Shutting down plugin 'INNODB_CMP'
2019-05-15T01:08:24.682802Z 0 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2019-05-15T01:08:24.682804Z 0 [Note] Shutting down plugin 'INNODB_LOCKS'
2019-05-15T01:08:24.682806Z 0 [Note] Shutting down plugin 'INNODB_TRX'
2019-05-15T01:08:24.682807Z 0 [Note] Shutting down plugin 'InnoDB'
2019-05-15T01:08:24.684767Z 0 [Note] InnoDB: FTS optimize thread exiting.
2019-05-15T01:08:24.684867Z 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2019-05-15T01:08:24.684972Z 0 [Note] InnoDB: Buffer pool(s) load completed at 190515  9:08:24
2019-05-15T01:08:24.685009Z 0 [Note] InnoDB: Starting shutdown...
2019-05-15T01:08:24.785342Z 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
2019-05-15T01:08:24.785563Z 0 [Note] InnoDB: Buffer pool(s) dump completed at 190515  9:08:24
里面也没啥关键信息,这么多看起来贼烦,我们来过滤下。

执行   tail -n500 /var/log/mysqld.log|grep -E 'Warning|ERROR'

2019-05-15T01:12:38.934502Z 0 [ERROR] unknown variable 'binlog_fromat=mixed'
2019-05-15T01:12:38.934522Z 0 [ERROR] Aborting
2019-05-15T01:12:40.984590Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-05-15T01:12:41.188849Z 0 [ERROR] unknown variable 'binlog_fromat=mixed'
2019-05-15T01:12:41.188873Z 0 [ERROR] Aborting
2019-05-15T01:12:43.228937Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-05-15T01:12:43.431933Z 0 [ERROR] unknown variable 'binlog_fromat=mixed'
2019-05-15T01:12:43.431951Z 0 [ERROR] Aborting
到这里就很明显能看出问题了,提示未知参数,我们的英文单词拼错了。你问我怎么会敲错的,因为是信了网上亲测可用的这些帖子的邪了。这要是可用我把小牛子都给你揪下来。

4、总结

对于mysql启动报错我们可以通过如下的步骤来排查。

①:systemctl status mysqld.service 命令,通过这个我们能很快定位到出错的进程。

②:journalctl -xe 命令,作为上一步的补充能够进一步佐证我们的判断。

③:查看mysql的日志,这个是最重要的。因为绝大部分成熟的产品一定会考虑用户的使用,mysql从载入内存开始,后续的操作都会记录到日志当中。所以我们在使用mysql时出现类似问题,大概率都能从日志文件中找到问题,加以分析就能解决了。

mysql启动失败排查相关推荐

  1. MySQL启动失败 排查过程及解决方法

    MySQL 启动失败的常见原因 MySQL 启动失败的最常见的原因有两类,分别是无法访问系统资源和参数设置错误造成的,下面分别分析如下. 一.无法访问系统资源 MySQL 不能访问启动需要的资源是造成 ...

  2. linux mysql 安装启动失败,Linux服务器一键安装包的mysql启动失败

    Linux服务器上用一键安装包配置的环境,启动mysql失败,提示如下错误信息: 排查方法: 1.查看服务器的磁盘空间是否正常,登录服务器执行命令 df -h 查看磁盘空间,如果服务器的系统盘或者数据 ...

  3. 硬盘满了 mysql启不来_MySQL数据库之磁盘已满造成的mysql启动失败问题分享

    本文主要向大家介绍了MySQL数据库之磁盘已满造成的mysql启动失败问题分享 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 突然发现mysql死活都启不起来了: 复制代码 代 ...

  4. mysql启动失败的一个解决方法

    mysql启动失败的一个解决方法 参考文章: (1)mysql启动失败的一个解决方法 (2)https://www.cnblogs.com/notfresh/p/mysqlStartError.htm ...

  5. linus启动mysql失败_Linux下MySQL启动失败的解决一例

    Linux下MySQL启动失败的解决一例: 当敲mysql命令时 Can't connect to local MySQL server through socket '/var/lib/mysql/ ...

  6. linux中的mysql启动失败(一直连续出现点点的状态)

    linux中mysql启动失败,一直出现点点没有任何错误提示 后来发现应该是进程被占用而导致的, 输入命令 : ps aux |grep mysql* 查看mysql的开启进程状态,将开启的进程杀死以 ...

  7. wamp php启动不成功,wamp的mysql 启动失败解决

    wamp启动失败,查看原因是mysql 启动失败 首先查看mysql的启动日志 命令:mysqld --console 知道error报错的地方: 然后百度了此报错,解决方法 在my.ini中添加 i ...

  8. 大数据学习笔记33:解决CentOS7上MySQL启动失败问题

    文章目录 一.查看安装的MySQL数据库版本 二.启动MySQL失败 1.启动MySQL,出现错误提示 2.执行systemctl status mysqld.service查看详情 3.执行jour ...

  9. phpstudy_pro MySQL启动失败的原因

    问题描述: 由于之前的phpstudy版本过于老旧,我对它进行了卸载,并又从官网上下载了最新版本的phpstudy,全新的UI界面由于我的操作失误带来了MySQL启动失败的问题. 老版本界面在这里插入 ...

最新文章

  1. 项目进度,你汇报清楚了么?
  2. linux脚本发送udp,基于shell脚本实现UDP端口探测
  3. Win7安vc2008编译报LINK : fatal error LNK1000: Internal error during IncrBuildImage
  4. Roslyn项目系统简介
  5. mysql数据库导出时报错mysqldump: Got error: 145的解决方法
  6. 华为机试HJ1:字符串最后一个单词的长度
  7. gambit软件license文件
  8. java俄罗斯方块代码_俄罗斯方块java源代码提供
  9. 数据库课程设计报告——员工工资管理系统
  10. 商城网站前台html模板,网上购物商城前台模板HTML源码
  11. Springboot使用J2Cache,整合ehcache和redis缓存框架,实现两级缓存
  12. 计算机组成原理字发生器,计算机组成原理实验2.7时序发生器赖晓铮剖析.ppt
  13. 传奇工程师卡马克入坑 AI:徒手一周实现反向传播和 CNN
  14. Datawhale优秀学习者4月名单!
  15. 线程安全——strtok VS strtok_r
  16. 如何在Verizon FIOS路由器上更改Wi-Fi网络名称(SSID)
  17. C语言实验系统PPT展示,c语言第四谭浩强机实验课件.ppt
  18. J2EE_01:环境配置eclipse安装mySQL安装
  19. SQL中的几大语言分类
  20. 【网络基础】简单理解IP段范围的划分

热门文章

  1. postion属性介绍
  2. 0x80070035找不到网络路径_蚁群算法(ACO)求解带时间窗的车辆路径(VRPTW)问题...
  3. OpenCore(OC)引导开机声音与图形界面设置
  4. nginx正向代理+反向代理
  5. 为WebService添加描述
  6. 进程调度 时间片轮转算法
  7. Kolmogorov-Smirnov(KS)检验
  8. 协方差矩阵—Hessian矩阵—正定矩阵
  9. php js页面刷新,JavaScript刷新页面location.reload()的用法
  10. OKR:SMART 目标总是聪明的吗?