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
/var/log
アクセスする前に、mysql ユーザーに読み取りおよび実行権限を与える必要があると思います/var/log/mysql
。 RHEL7.1 でこれをテストしたところ、同じ問題が確認されました。
これはまさに@premがコメントで示唆したとおりです。