У меня проблема с разрешениями в файлах журналов MariaDB (MySQL). Я настроил файлы журналов, /var/log/mysql
но всякий раз, когда я перезапускаю сервер MariaDB, я вижу следующие сообщения, записанные в журнал /var/log/mysql/mysql_error.log
:
151104 20:54:53 [ERROR] mysqld: File '/var/log/mysql/mysql_slow.log' not found (Errcode: 13)
151104 20:54:53 [ERROR] Could not use /var/log/mysql/mysql_slow.log for logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.
151104 20:54:53 [ERROR] mysqld: File '/var/log/mysql/mysql_query.log' not found (Errcode: 13)
151104 20:54:53 [ERROR] Could not use /var/log/mysql/mysql_query.log for logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.
Я пробовал настраивать разрешения на /var/log/mysql
рекурсивный (-R) как mysql:root
, mysql:mysql
и root:root
ни один из них не работает, и я все время получаю одни и те же сообщения. Я проверил текущие разрешения на /var/log/mysql
и читал как:
# ls -l mysql/
total 40
-rw-r--r-- 1 mysql root 33088 Nov 4 21:04 mysql_error.log
-rw-r--r-- 1 mysql root 0 Aug 2 16:58 mysql_query.log
-rw-r--r-- 1 mysql root 0 Aug 2 16:58 mysql_slow.log
Я используюmysql Ver 15.1 Distrib 5.5.46-MariaDB, для Linux (x86_64) с использованием readline 5.1
Что здесь не так? Какие разрешения правильные в этом случае?
Обновлять
Вот разрешения для /var/log
и /var/log/mysql
:
# ls -lhd /var/log/
drwx------ 12 root root 4.0K Nov 4 20:52 /var/log/
# ls -lhd /var/log/mysql
drwxr-xr-x 2 mysql root 4.0K Nov 4 20:52 /var/log/mysql
решение1
Я считаю, что вам нужно предоставить пользователю mysql права на чтение и выполнение, /var/log
прежде чем он сможет получить доступ /var/log/mysql
. Я только что проверил это на RHEL7.1 и подтвердил ту же проблему.
Это именно то, что предложил @prem в комментариях.