Centosサーバーでカスタムデータディレクトリを使用してmysqlを起動すると、次のようなエラーが発生する場合があります。
2014-10-15 10:23:56 17081 [Warning] Can't create test file /database/mysql/localhost.lower-test
Chmodとchownの設定がすでに正しい場合は、selinuxを調べる必要があるかもしれません。
このページでは、mysql用にselinuxを構成する方法について説明します。 https://blogs.Oracle.com/jsmyth/entry/selinux_and_mysql
所有権と権限を修正しようとした場合。
chown -R mysql:mysql /new-path/mysql
chmod 0755 /new-path/mysql
また、SELinuxを有効にしていませんが、それでも問題があります。 /usr/lib/systemd/system/mariadb.service
を編集するだけです
ProtectSystem=full
ProtectHome=true
およびundefineこれらの変数(falseに設定しても機能しません)
ProtectSystem=
ProtectHome=
そしてデーモンをリロードします
systemctl daemon-reload
私がこれをした後、それはついにうまくいきました。興味深いのは、これがMariaDB 10.1でのみ発生することです。これらの変数は以前のバージョンには存在しません。最近私はこのバグを発見しました:
https://jira.mariadb.org/browse/MDEV-13896
編集:
この設定はMariaDBの更新後に上書きされるため、これによるダウンタイムを回避するための恒久的な修正を見つけました。
cp /usr/lib/systemd/system/mariadb.service /etc/systemd/system/mariadb.service
次に、ここで変更を加えました
vi /etc/systemd/system/mariadb.service
それでおしまい :)
CentOS 7で実行しているときは、systemdユニットファイルをチェックアウトしてください。これにより、/home
。
ユニットファイルは/usr/lib/systemd/system/mariadb.service
。