私はRaspberry PiでMariaSQLを使用してMySQLサーバーを実行しています。データベースが大きくなると予想して、データベースをext4形式の外部ドライブに移動したいと思います。これまで私はこのオンラインチュートリアルに従ってきましたが、結局systemctl start mariadb
失敗しました。を見ると、systemctl status
次のエラーが表示されます。
[Warning] Can't create test file /media/pi/external_drive/mysql-data/raspberrypi.lower-test
[ERROR] Aborting
MariaDBトラブルシューティングガイドこのエラーについてこのようなことがあります。
これは通常、ファイルが書き込まれるディレクトリに対する権限エラーです。 datadir全体がmysqld(通常はmysql)を実行しているユーザーが所有していることを確認してください。ディレクトリ所有者に「x」(実行)ディレクトリ権限があることを確認してください。 datadir 以上のすべての親ディレクトリが、すべてのユーザー、グループ、およびその他に対して「x」(実行)権限を持っていることを確認します。
私はこれを行いましたが、コマンドを使用してmysqlユーザーとしてディレクトリにテキストファイルを作成、編集、保存できますが、sudo -u mysql /bin/bash
エラーは解決しません。/media/pi/external_drive/mysql_data
編集:これはディレクトリ名の誤字(アンダースコアではなくダッシュ)によるものです。これでエラーは消えましたが、mariadbはまだ起動しません。
mars 08 10:41:26 raspberrypi mysqld[8607]: 2021-03-08 10:41:26 0 [Note] /usr/sbin/mysqld (mysqld 10.3.27-MariaDB-0+deb10u1) starting as pr
mars 08 10:41:26 raspberrypi mysqld[8607]: 2021-03-08 10:41:26 0 [Warning] Could not increase number of max_open_files to more than 16384
mars 08 10:41:30 raspberrypi systemd[1]: mariadb.service: Main process exited, code=exited, status=7/NOTRUNNING
mars 08 10:41:30 raspberrypi systemd[1]: mariadb.service: Failed with result 'exit-code'.
mars 08 10:41:30 raspberrypi systemd[1]: Failed to start MariaDB 10.3.27 database server.
答え1
最初のエラーは、スペルエラー(アンダースコアではなくダッシュ)が原因で発生します。この問題を解決した後、my.cnfに以下を追加して「max_open_filesの数を16384以上に増やすことはできません」を削除できました:open_files_limit = 10000