mysql启动失败错误mysqld.service holdoff time over, scheduling restart.

由于搭建主从分布式mysql环境,在搭建前,对之前的mysql残留环境彻底清除。清除命令如下:

#yum remove mysql* mariadb* -y           

#rm /etc/my.cnf                          

#rm -rf /var/lib/mysql                   

#rm -rf /usr/share/mysql                 

#rm -rf /usr/lib/mysql                   

查询mysql服务                            

#systemctl list-unit-files | grep mysql  

#systemctl disable mysqld.service        

#systemctl disable mysql.service         

#rm -rf /var/run/mysql/                  

#rm -rf /etc/mecabrc                         

#rm -rf /usr/lib/systemd/system/mysqld.service

#rm -rf /etc/systemd/system/mysqld.service   

#rm -rf /etc/systemd/system/mysql.service    

 

清除后,对Mysql配置文件进行配置后,加入了日志参数,大致如下:

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
read_only=on
log_bin=mysql-bin
log-slave-updates
server-id=162
binlog_format=row

重启mysql,发现一直启动失败。查看日志,并没有具体的ERROR日志,只是启动不了。因为以前部署主从,都是按照这种方式来部署的,所以不存在是配置文件的问题。但我将所有主从配置去掉后,重启mysql后又能正常启动。于是我一条条定位添加的配置,发现错误出现在:log_bin=mysql-bin这个参数上,只要去掉它就能启动成功。想配置主从,这个参数是必须要添加的,所以只能再次查看日志/var/log/mysqld.log和/var/log/messages,发现报错:

Oct 26 10:01:19 lf-319-162 systemd: Failed to start MySQL Server.
Oct 26 10:01:19 lf-319-162 systemd: Unit mysqld.service entered failed state.
Oct 26 10:01:19 lf-319-162 systemd: mysqld.service failed.
Oct 26 10:01:20 lf-319-162 systemd: mysqld.service holdoff time over, scheduling restart.
Oct 26 10:01:20 lf-319-162 systemd: Starting MySQL Server...
Oct 26 10:01:20 lf-319-162 mysqld: Initialization of mysqld failed: 0
Oct 26 10:01:20 lf-319-162 systemd: mysqld.service: control process exited, code=exited status=1
Oct 26 10:01:22 lf-319-162 systemd: Failed to start MySQL Server.

百度后发现,只需要重启服务器就能完成,原因是:无法重新加载配置文件

最后reboot重启服务器,发现问题解决啦!!

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: MySQL启动失败的原因是因为控制进程退出。这可能是由于以下几个原因导致的: 1. 配置文件错误MySQL的配置文件my.cnf中可能存在错误的配置参数或者格式错误,导致MySQL无法启动。可以通过检查my.cnf文件并修正错误来解决该问题。 2. 端口冲突:如果系统中已经有其他程序使用了与MySQL相同的端口(默认为3306),则MySQL无法启动。可以通过查询系统中的进程并停止占用该端口的进程,或者将MySQL配置文件中的端口参数修改为一个未被占用的端口来解决该问题。 3. 数据目录权限问题:MySQL的数据目录可能没有正确的权限设置,导致MySQL无法读取或写入数据。可以使用chown命令将数据目录的所属用户修改为MySQL的运行用户,并确保所属组也正确设置。 4. 内存不足:如果系统内存不足,可能导致MySQL启动失败。可以通过释放部分内存或增加系统的内存来解决该问题。 5. 数据库损坏:如果MySQL的数据文件损坏或存在错误,可能导致MySQL无法正常启动。可以尝试修复数据文件或者恢复数据库的备份来解决该问题。 综上所述,当MySQL启动失败并出现"job for mysqld.service failed because the control process exite"的错误信息时,我们应该检查MySQL的配置文件、端口占用情况、数据目录权限、系统内存和数据库文件是否损坏等因素,然后根据具体情况进行相应的修复和恢复操作。 ### 回答2: 在MySQL启动失败时,出现"Job for mysqld.service failed because the control process exited with error code"的错误提示通常意味着MySQL服务的控制进程退出时发生了错误。 要解决这个问题,你可以尝试以下步骤: 1. 检查错误日志:查看MySQL错误日志文件,通常在 /var/log/mysql/error.log 或 /var/log/mysql/mysqld.log 中。该日志文件可能会提供有关启动失败的更详细信息,你可以根据其中的错误消息来确定问题所在。 2. 检查配置文件:验证MySQL的配置文件(通常是 /etc/mysql/my.cnf 或 /etc/my.cnf)是否正确。特别是要确保配置文件中的路径、权限和端口等配置正确无误。 3. 检查MySQL进程:使用命令 "ps -ef | grep mysql" 检查是否有MySQL的进程正在运行。如果存在其他MySQL进程,请终止它们并再次尝试启动MySQL服务。 4. 检查存储空间:确保系统的存储空间足够,如果磁盘空间不足,可能会导致MySQL启动失败。 5. 显示详细错误信息:尝试以详细模式启动MySQL服务,使用命令 "sudo mysqld --verbose --help"。这将显示更多关于启动失败原因的详细信息,并帮助你诊断问题。 6. 重新安装MySQL:如果以上方法都没有解决问题,你可以尝试重新安装MySQL。在重新安装之前,确保备份了所有重要的数据库数据。 需要注意的是,MySQL启动失败可能是由多种原因引起的,以上方法中的一些步骤可能不适用于你的具体情况。在解决问题之前,建议查阅MySQL的官方文档和社区论坛,以获取更多针对性的帮助和指导。 ### 回答3: 当启动MySQL时,如果遇到错误"Job for mysqld.service failed because the control process exited",这意味着MySQL无法成功启动。这个错误通常是由以下几个原因引起的。 首先,可能是由于MySQL配置文件的问题导致的。MySQL的配置文件位于/etc/mysql/mysql.conf.d目录下,通常是my.cnf文件。在这个配置文件中,可能有某些参数设置不正确或者存在错误,导致MySQL无法启动。你可以检查my.cnf文件并确保其中的各项设置正确。 其次,如果你最近更新了MySQL软件包,可能会导致启动错误。在这种情况下,你可以尝试重新安装MySQL软件包,然后再次启动MySQL服务。如果重新安装不起作用,你可以尝试卸载MySQL并重新安装最新版本。 还有一种可能是由于系统资源不足导致MySQL启动失败。当系统的内存或磁盘空间不足时,MySQL可能无法成功启动。你可以通过检查系统资源使用情况,确保有足够的内存和磁盘空间来支持MySQL的正常运行。 最后,MySQL日志文件可能包含有关启动失败的详细信息。日志文件通常位于/var/log/mysql/目录下,名为error.log。你可以打开错误日志文件,查看其中的错误消息,以便更好地了解启动失败的原因,并采取适当的措施来修复问题。 综上所述,当遇到"Job for mysqld.service failed because the control process exited"错误时,你应该检查MySQL配置文件、重新安装MySQL软件包、检查系统资源状况和查看MySQL错误日志文件,以解决启动失败的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值