MariaDBが起動しない!?エラーメッセージ「Can't create test file /home/mysql/beta.lower-test」を解決する方法
MariaDBがアップデート後に起動できない: /home/mysql/beta.lower-testファイル作成エラー
MariaDBをアップデート後、以下のエラーメッセージが表示されて起動できない場合があります。
[Warning] Can't create test file /home/mysql/beta.lower-test
原因:
このエラーは、MariaDBがテストファイル /home/mysql/beta.lower-test
を作成できないことが原因です。このファイルは、データベースの文字コード変換機能をテストするために使用されます。
解決策:
この問題を解決するには、以下のいずれかの方法を試してください。
方法1: テストファイルを手動で作成する
以下のコマンドを実行して、テストファイルを手動で作成します。
touch /home/mysql/beta.lower-test
方法2: MariaDBの設定ファイルを変更する
以下の手順で、MariaDBの設定ファイル /etc/mysql/my.cnf
を変更します。
my.cnf
ファイルをテキストエディタで開きます。- 以下の行を追加します。
skip-test-db
- ファイルを保存して閉じます。
方法3: MariaDBを再インストールする
上記の方法で問題が解決しない場合は、MariaDBを再インストールしてみてください。
補足:
- この問題は、MariaDB 10.4.10および10.5.1で発生する可能性があります。
- 上記の解決策は、Ubuntu 18.04 LTSでテストされています。
- 上記の方法で問題が解決しない場合は、専門家に相談することをお勧めします。
# ターミナルでコマンドを実行
touch /home/mysql/beta.lower-test
# テキストエディタで /etc/mysql/my.cnf ファイルを開く
# ファイル末尾に以下の行を追加
skip-test-db
# ファイルを保存して閉じる
# ターミナルでコマンドを実行
sudo apt-get remove mariadb-server
sudo apt-get install mariadb-server
他の方法
方法4: SELinuxを無効にする
SELinuxが有効になっている場合、それが問題の原因である可能性があります。SELinuxを無効にするには、以下のコマンドを実行します。
sudo setenforce 0
方法5: AppArmorの設定を変更する
sudo aa-status
このコマンドを実行すると、AppArmorのプロファイル一覧が表示されます。MariaDBのプロファイルを見つけ、以下のコマンドを実行して無効にします。
sudo aa-disable /etc/apparmor.d/usr.lib.systemd.system.mariadb.service
方法6: データディレクトリの所有権を変更する
MariaDBのデータディレクトリの所有権が間違っていると、問題が発生する可能性があります。データディレクトリの所有権を変更するには、以下のコマンドを実行します。
sudo chown -R mysql:mysql /var/lib/mysql
MariaDBのログには、問題の原因に関する情報が記載されている可能性があります。MariaDBのログを確認するには、以下のコマンドを実行します。
sudo tail -f /var/log/mysql/error.log
mysql ubuntu mariadb