Назад | Перейти на главную страницу

Как настроить разрешения 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 напишите cron-скрипт, принадлежащий пользователю mysql, чтобы записать вывод "service mysqld status" в текстовый файл, для которого установлены разрешения на чтение, позволяющие вашему контролирующему пользователю читать его. запускать скрипт cron раз в минуту.

2 Добавьте вашего контролирующего пользователя в ту же группу, к которой принадлежит пользователь mysql. Это позволит пользователю проверить файл PID; хотя, как упоминал @galaxy, на самом деле это не очень хороший подход к проблеме, которую вы пытаетесь решить.