centOS7 Mysql启动失败报错Job for mysqld.service failed because the control process exited with error code.

报错起因

在CentOS7中安装部署MySQL服务,首次启动服务时失败报错

Job for mysqld.service failed because the control process exited with error code.See “systemctl status mysqld.service” and “journal -xe” for details.
引起此报错的原因不尽相同,所以建议先找到引起报错的具体原因再针对性寻找解决方案

报错信息告知可以使用"systemctl status mysqld.service" 和 "journal -xe"指令查看mysql状态以及查看启动失败反馈的结果信息,但本机在查看此反馈信息时还是没有找到具体的出错原因。于是以本机遇到的问题为例提供了另一种解决方法。

先确认了一下mysql服务的状态,未启动成功

查找出错具体原因

查看mysql报错日志信息

本机是通过查看mysql日志信息找到了具体的出错原因

cat /var/log/mysqld.log | grep ERROR #只查看具体的报错日志,省略了其他类型的日志

"Bind on TCP/IP port: Address already in use"

发现问题是因为mysql服务默认使用的3306端口被占用,该问题可以通过两种方法解决

解决方案

1. 结束其他进程对3306端口的占用

2. 修改mysql服务配置文件中的指定端口号,设置为另一个可用端口号

本机采用的第一种解决方式,也简单说明一下第二种解决方式

方法一:结束进程对mysql默认端口的占用

查看端口号占用情况

  • ***stat -lnp|grep [端口号] #显示指定端口号使用情况
  • ***stat -ntlp #显示所有端口使用情况
***stat -lnp|grep 3306

端口被进程pid为1974的进程占用,如果端口没有被占用执行查看指令则不会显示任何内容

终结占用进程

kill -9 [进程PID]
kill -9 1974 #本机端口是被PID为1974的进程占用

再次查看端口确认进程已被杀掉

启动成功问题解决

方法二:修改MySQL服务默认端口号

修改配置文件

如果之前手动添加过mysql的配置文件,可以在自己添加的配置文件中修改端口号
通过指令mysql --help|grep 'my.***f'可以查看到配置文件的适用顺序,越往前优先级越高,/etc/my.***f是默认存在也是优先级最高的配置文件,本机没有添加其他配置文件,所以直接修改默认配置文件

vi /etc/my.***f #修改配置文件

MySQL配置文件中没有端口号设置会默认使用3306端口,添加端口号设置port=[端口号]
设置的端口号要确认没有再被占用,可用通过前面提到的方法查看端口使用情况

重启MySQL服务

systemctl restart mysqld
转载请说明出处内容投诉
CSS教程_站长资源网 » centOS7 Mysql启动失败报错Job for mysqld.service failed because the control process exited with error code.

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买