更新 我能够按照 Robert Longson 的建议使用 /etc/systemd/system exist 创建 mysqld.service 文件
现在我的问题变了。当我启动服务时,它失败了。我运行了
systemctl status mysqld.service
,输出如下:Loaded: loaded (/etc/systemd/system/mysqld.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sun 2020-03-29 19:01:25 CDT; 38s ago Docs: man:mysqld(7) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 9251 ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --daemonize --pid mysqld.service: Service hold-off time over, scheduling restart. mysqld.service: Scheduled restart job, restart counter is at 5. Stopped MySQL Server. mysqld.service: Start request repeated too quickly. mysqld.service: Failed with result 'exit-code'. mysqld.service: Failedto start MySQL Server
我尝试在安装 MySQL Server 5.7 后首次使用 systemd 启动它。手册上说要在 /usr/lib/systemd/system 中创建一个配置文件但该子目录不存在(我使用的是 Ubuntu 18.04)。我遵循以下指南:
要配置 MySQL 安装以与 systemd 一起使用:
- 添加一个 systemd 服务单元配置文件,其中包含有关 MySQL 服务的详细信息。该文件名为 mysqld.service,位于 /usr/lib/systemd/system。
shell> cd /usr/lib/systemd/system
shell> touch mysqld.service
shell> chmod 644 mysqld.service
由于我没有 systemd 的“系统”子目录,因此我仅创建了 mysql.service 文件直接地在 /usr/lib/systemd 中。按照其余说明操作后,我得到了:
shell> systemctl start mysqld
但失败了:
Failed to enable unit: Unit file mysqld.service does not exist.
有人能解释一下我做错了什么吗?谢谢。
答案1
服务文件实际上位于 /etc/systemd/system 中,而不是 /usr/lib/systemd/system 中
如果您想找出服务失败的原因,您可以尝试systemctl status mysqld
查看 journalctl 命令,或者获取更完整的日志journalctl -u mysqld -S today
。