web-dev-qa-db-ja.com

Centosでのmysqlの「テストファイルを作成できません」エラー

Centosサーバーでカスタムデータディレクトリを使用してmysqlを起動すると、次のようなエラーが発生する場合があります。

2014-10-15 10:23:56 17081 [Warning] Can't create test file /database/mysql/localhost.lower-test
4
Haluk

Chmodとchownの設定がすでに正しい場合は、selinuxを調べる必要があるかもしれません。
このページでは、mysql用にselinuxを構成する方法について説明します。 https://blogs.Oracle.com/jsmyth/entry/selinux_and_mysql

3
Haluk

所有権と権限を修正しようとした場合。

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

それでおしまい :)

3
Luka

CentOS 7で実行しているときは、systemdユニットファイルをチェックアウトしてください。これにより、/home

ユニットファイルは/usr/lib/systemd/system/mariadb.service

2
Uwe