LAMPスタックをインストールしたばかりのマシンであるLinux Mint 20から起動すると、すべてのデフォルト選択が受け入れられます。しかし、すべてのデータベースをWindows 10ビットロックパーティション(現在Linuxでロック解除されてアクセス可能)に保存しました。
Linuxでmysqlデータファイルの場所を移動する問題に関連してこの回答...論理的に見えます(Edenshawの説明:「あなたの場所ではmy.cnfファイルが見つかりませんが、ここでは/etc/mysql/mysql.conf.d/mysqld.cnf」は見つかりません)。
私のmysqlは私のbitlocker Windowsドライブの/media/bitlockermount-d/dbases/mariadb_dataにインストールされています。この下にibdata1、ib_logfile [n]などを見つけることができます。はい、MariaDBのインストールです。
リンクされた回答の指示に従った後
root@M17A:/var/lib/mysql# service mysql start
Job for mysql.service failed because the control process exited with error code.
それから
root@M17A:/var/lib/mysql# systemctl status mysql.service
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2022-01-02 13:23:39 GMT; 1min 19s ago
Process: 335723 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Process: 335731 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
Main PID: 335731 (code=exited, status=1/FAILURE)
Status: "Server startup in progress"
Error: 13 (Permission denied) ********** AHA... **********
/media/bitlockermount-d/dbases/mariadb_data 以下のファイルの所有権が変更されていないため、これは論理的です。それでもroot:rootですが、次のコマンドを使用してmysql:mysqlに変更する必要があります。
root@M17A:/var/lib/mysql# chown --reference=/var/lib/mysql /media/bitlockermount-d/dbases/mariadb_data
root@M17A:/var/lib/mysql# chmod --reference=/var/lib/mysql /media/bitlockermount-d/dbases/mariadb_data
...これが間違いなく失敗した理由の1つです。しかし、これは少し混乱しているのでみんな...dbases / mariadb_dataの下のファイルは777です。それでは、なぜmysqlはこのファイルで目的の操作を実行できないのですか?明示的に確認できますか?所有権起動プロセスの一部として?
パーティション形式のロックを解除するためにビットロックを見つけようとしています。これを行うことはできませんが、ntfsまたは同様の非Linuxタイプであると仮定すると、所有権を変更できない理由が説明されます。
だから質問は:この問題を解決する方法はありますか?たとえば、どのような方法でもmysqlに「rootとして実行」または「所有権の問題を無視する」と指示する方法はありますか?