解决 MySQL 服务无法启动:failed to restart mysql.service: unit not fou ...

打印 上一主题 下一主题

主题 1046|帖子 1046|积分 3138

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
前言

在日常使用 MySQL 数据库时,有时间大概会遇到服务无法正常启动的问题。这类问题通常出现在系统更新或者服务设置文件发生变动之后。本文针对 MySQL 服务启动失败,提示 failed to restart mysql.service: unit not found
的错误信息,提供解决方案,帮助读者快速排盘问题并解决。
1. 问题描述

在一台已经稳定运行较长时间的 MySQL 数据库服务器上,举行软件更新并重启服务器后,尝试重启 MySQL 服务时,系统提示以下错误信息:
  1. failed to restart mysql.service: unit not found
复制代码
通过查找相关资料,发现 MySQL 的服务名称从 mysql.service 变为了 mysqld.service,而这个服务文件通常位于 /lib/systemd/system/ 目录下。假如这个目录下存在多个与 MySQL 相关的服务文件,大概会导致系统启动服务时无法找到正确的文件,从而出现错误。
2. 问题分析

MySQL 服务启动依赖 systemd 管理的服务单元文件,该文件通常位于 /lib/systemd/system/ 目录下。MySQL 的服务单元文件可以是 mysql.service 或者 mysqld.service。在某些环境下,例如系统更新或软件包变更,大概会导致:


  • mysql.service 文件被删除或更换。
  • 系统存在多个 MySQL 相关的服务文件,如 mysqld.service 和 mysqld@.service。
为了确保服务正常启动,应该保证只保留最新版本的服务文件,并且清算过期或重复的文件。
3. 解决步骤

3.1 检查 MySQL 服务文件

起首,检查 /lib/systemd/system/ 目录下是否存在 MySQL 相关的服务文件。可以使用以下下令列出所有与 MySQL 相关的文件:
  1. ll /lib/systemd/system/*mysql*
复制代码
该下令会返回如下类似的输出:
  1. -rw-r--r-- 1 root root 1234 Sep 29 10:00 /lib/systemd/system/mysqld.service
  2. -rw-r--r-- 1 root root 1234 Sep 29 10:00 /lib/systemd/system/mysqld@.service
  3. -rw-r--r-- 1 root root 1234 Sep 29 09:00 /lib/systemd/system/mysql.service
复制代码
这里可以看到有多个 MySQL 相关的服务文件,此中包括 mysqld.service 和 mysql.service。
3.2 备份旧的服务文件

为了防止系统肴杂选择旧版本的服务文件,建议将旧的 mysql.service 文件举行备份。使用以下下令将其重命名为 mysql.service.bak:
  1. mv /lib/systemd/system/mysql.service /lib/systemd/system/mysql.service.bak
复制代码
3.3 启动 MySQL 服务

在备份旧的服务文件之后,系统将使用最新的 mysqld.service 文件来启动 MySQL。接下来,尝试重新启动 MySQL 服务:
  1. systemctl daemon-reload
  2. systemctl start mysqld
复制代码
假如需要将 MySQL 服务设置为开机自启,可以使用以下下令:
  1. systemctl enable mysqld
复制代码
3.4 验证服务状态

末了,使用以下下令检查 MySQL 服务的运行状态,确保它已经正常启动:
  1. systemctl status mysqld
复制代码
正常环境下,输出类似如下内容:
  1. ● mysqld.service - MySQL Server
  2.    Loaded: loaded (/lib/systemd/system/mysqld.service; enabled; vendor preset: enabled)
  3.    Active: active (running) since Wed 2024-09-29 10:00:00 UTC; 1h 45min ago
复制代码
4. 总结

通过上述步骤,我们解决了 MySQL 服务无法启动的问题。问题的根源在于旧版本的 mysql.service 文件与最新的 mysqld.service 文件发生了冲突,导致系统在启动 MySQL 时找不到正确的服务单元文件。通过备份旧文件并重新启动服务,问题得以顺利解决。
结语

MySQL 服务的正常运行对数据库应用的稳定性至关紧张。在遇到服务启动异常时,起首要检查服务单元文件是否存在及其设置是否正确。同时,定期更新和备份相关服务文件,有助于减少此类问题的发生。希望本文对解决类似问题有所帮助。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

自由的羽毛

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表