mariadbサーバーをインストールし、パスワードでrootユーザーを作成しました。
sudo apt install mariadb-server
sudo mysql_secure_installation
Rasperri Piを使用しているので、データベースを外付けハードドライブに変更したいと思います。そのためにこのチュートリアル
cnfファイル(すべて/etc/mysql/mariadb.conf/にあり、debian.cnfファイルは/etc/mysqlにあります)を変更した後、mysqlサービスの起動に失敗しました。
$ sudo service mysql start
Job for mariadb.service failed because the control process exited with error code.
See "systemctl status mariadb.service" and "journalctl -xe" for details.
ログにはテストファイルを生成できないと表示されます。
$systemctl status mariadb.service
Okt 30 22:56:31 raspberrypitouch systemd[1]: Starting MariaDB 10.3.31 database server...
Okt 30 22:56:31 raspberrypitouch mysqld[4694]: 2021-10-30 22:56:31 0 [Note] /usr/sbin/mysqld (mysqld 10.3.31-MariaDB-0+deb10u1) starting as process 4694 ...
Okt 30 22:56:31 raspberrypitouch mysqld[4694]: 2021-10-30 22:56:31 0 [Warning] Can't create test file /media/pi/DBDRIVE/MariaDB/raspberrypitouch.lower-test
Okt 30 22:56:31 raspberrypitouch mysqld[4694]: [101B blob data]
Okt 30 22:56:31 raspberrypitouch mysqld[4694]: 2021-10-30 22:56:31 0 [ERROR] Aborting
Okt 30 22:56:31 raspberrypitouch systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Okt 30 22:56:31 raspberrypitouch systemd[1]: mariadb.service: Failed with result 'exit-code'.
Okt 30 22:56:31 raspberrypitouch systemd[1]: Failed to start MariaDB 10.3.31 database server.
多くの検索の最後に、次の考えられる原因を見つけて削除しました。
装備そしてSELinux新しいディレクトリへのアクセスをブロック - >インストールされていません
getenforce -bash: getenforce: command not found
そして
aa-status -bash: aa-status: command not found
-
すべてのパスをコピーしました。太田は二日間忙しくなるとても悪い理由になります
-
権限が正しいことを確認するためにこれをコピーしました。
cp -R -p /var/lib/mysql/* /media/pi/DBDRIVE/MariaDB/
親フォルダ
/media/pi/DBDRIVE $ ls -l total 20 drwx------ 2 mysql mysql 16384 Oct 29 12:25 lost+found drwxrwxrwx 6 mysql mysql 4096 Oct 30 23:07 MariaDB
dbフォルダ自体
/media/pi/DBDRIVE/MariaDB $ ls -l total 110632 -rw-rw---- 1 mysql mysql 16384 Oct 30 15:30 aria_log.00000001 -rw-rw---- 1 mysql mysql 52 Oct 30 15:30 aria_log_control -rw-r--r-- 1 root root 0 Oct 30 13:02 debian-10.3.flag -rw-rw---- 1 mysql mysql 976 Oct 30 15:30 ib_buffer_pool -rw-rw---- 1 mysql mysql 12582912 Oct 30 15:30 ibdata1 -rw-rw---- 1 mysql mysql 50331648 Oct 30 15:30 ib_logfile0 -rw-rw---- 1 mysql mysql 50331648 Oct 30 13:02 ib_logfile1 -rw-rw---- 1 mysql mysql 0 Oct 30 13:02 multi-master.info drwx------ 2 mysql mysql 4096 Oct 30 13:02 mysql drwxrwxrwx 2 mysql mysql 4096 Oct 30 17:50 mysqld drwx------ 2 mysql mysql 4096 Oct 30 13:02 performance_schema drwx------ 2 mysql mysql 4096 Oct 30 15:12 testDB
ドライバー
/media/pi/DBDRIVE $ ls -l total 20 drwx------ 2 mysql mysql 16384 Oct 29 12:25 lost+found drwxrwxrwx 7 mysql mysql 4096 Oct 30 23:58 MariaDB
PI
/media/pi $ ls -l total 4 drwxr-xr-x 4 mysql mysql 4096 Oct 30 16:53 DBDRIVE
メディア
/media $ ls -l total 4 drwxr-x---+ 3 root root 4096 Oct 31 01:42 pi
-
df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/root ext4 29G 3.8G 25G 14% / devtmpfs devtmpfs 776M 0 776M 0% /dev tmpfs tmpfs 937M 0 937M 0% /dev/shm tmpfs tmpfs 937M 8.6M 928M 1% /run tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs tmpfs 937M 0 937M 0% /sys/fs/cgroup /dev/mmcblk0p1 vfat 253M 49M 204M 20% /boot tmpfs tmpfs 188M 4.0K 188M 1% /run/user/1000 /dev/sda ext4 916G 186M 870G 1% /media/pi/DBDRIVE
-
ここ基本的に同じ状況ですが、解決策は私には適していませんでした。
正しい方向へのすべてのヒントを高く評価します。
なぜサービスを開始できないのですか?
答え1
コメントで指摘したように、問題はを実行して手動で再現できますsudo -u mysql touch /media/pi/DBDRIVE/MariaDB/raspberrypitouch.lower-test
。これにより「許可拒否」エラーが発生しました。
質問は、 'MariaDB'ディレクトリが 'mysql'ユーザーが完全に所有していることを示しているため、問題は親ディレクトリの1つである '/media'、 '/media/pi'、 '/media/pi/にある可能性が高いです。 DBドライブ'。これらのディレクトリには、ユーザー "mysql"が "/media/pi/DBDRIVE/MariaDB/"ディレクトリにアクセスできるようにするために、少なくともすべてのユーザーに対して実行権限が必要です。
OPは/ mediaディレクトリに必要な権限がないことを確認し、それを追加して問題を解決しました。
MariaDBナレッジベースの関連注意事項:https://mariadb.com/kb/en/what-to-do-if-mariadb-doesnt-start/#cant-create-test-file