如何配置MySQL pid文件的权限?

如何配置MySQL pid文件的权限?

我知道 MySQLd 将创建一个 pid 文件,如 mysqld.service 中设置的那样:

ExecStart=/usr/bin/mysqld --pid-file=/run/mysqld/mysqld.pid

但是,它创建的文件具有660权限,这意味着没有特权的用户甚至无法读取它。我希望我的用户能够读取它,以便检查服务是否正在运行(对于我的 i3 状态栏)。到目前为止,我已经能够使用钩子做到这一点ExecStartPost

ExecStartPost=/usr/bin/chmod a+r /var/run/mysqld/mysqld.pid

但我确信一定还有其他方法可以配置它。毕竟,我的其他服务和守护进程会生成更宽松的 pid 文件。

答案1

一些建议:

1 编写一个由 mysql 用户拥有的 cron 脚本,将“service mysqld status”的输出写入一个文本文件,该文件具有读取权限,以允许您的监控用户读取它。让 cron 脚本每分钟运行一次。

2 将您的监控用户添加到 mysql 用户所属的同一组。这将允许用户检查 PID 文件;尽管正如 @galaxy 提到的那样,这并不是解决您试图解决的问题的很好的方法。

相关内容