방금 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
...이것이 확실히 실패한 이유 중 하나입니다. 그런데 이게 좀 헷갈리기 때문에모두...dbases/mariadb_data 아래의 파일은 777 정도입니다. 그러면 왜 mysql은 이 파일로 원하는 작업을 수행할 수 없습니까? 명시적으로 확인할 수 있나요?소유권시작 프로세스의 일부로?
파티션 형식의 잠금을 해제하기 위해 비트 잠금을 찾으려고 합니다. 그렇게 할 수는 없지만 ntfs 또는 유사한 비 Linux 유형이라고 가정하면 소유권을 변경할 수 없는 이유가 설명됩니다.
그래서 질문은: 이 문제를 해결할 방법이 있습니까? 예를 들어, 어떤 방식으로든 mysql에 "루트로 실행" 또는 "소유권 문제 무시"를 지시할 수 있는 방법이 있습니까?