我有一个 systemd 路径单元,它会监视配置文件,如果配置文件发生更改,则应用数据库更改。为了确保路径单元在 mysql 之后运行,我添加了以下几行:
Wants=mysqld.service
After=mysqld.service
Requires=mysqld.service
ConditionPathExists=/run/mysql/mysql.sock
尽管如此,路径单元有时会在 mysql 运行之前启动,我在路径状态中看到这些:
Condition: start condition failed at ...; 40s ago
└─ ConditionPathExists=/run/mysql/mysql.sock was not met
这些在相应的服务中,使用 mysql 命令执行更新:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysql/mysql.sock' (2)
该系统是使用buildroot定制的 Linux 设置。
/usr/bin/mysqld_safe --log-error=/var/log/mysql/mysqld.log
mysql --version
:
mysql Ver 15.1 Distrib 10.3.36-MariaDB, for Linux (x86_64) using readline 5.1
如何确保在路径单元开始监视配置文件之前 mysql 正在运行?