mysql 데이터 디렉토리를 다른 디스크로 옮겼으므로 이제는 /var/lib/mysql
다른 파티션의 마운트 지점 일뿐입니다. /var/lib/mysql
디렉토리 의 소유자를로 설정 했습니다 mysql.mysql
.
그러나 파티션을 마운트 할 때마다 소유권이로 변경됩니다 root.root
. 이로 인해 추가 MySQL 데이터베이스를 만들 수 없습니다.
fstab 항목 :
/dev/mapper/db-db /var/lib/mysql ext3 relatime 0 2
마운트 지점 소유자를 루트 이외의 사용자로 변경하는 방법은 무엇입니까?
답변
파일 시스템이 마운트되지 않은 경우 마운트 지점이 아니라 마운트 된 파일 시스템의 권한을 변경해야합니다. 그래서 mount /var/lib/mysql
다음 chown mysql.mysql /var/lib/mysql
. MySQL DB 파일 시스템의 루트 권한이 변경됩니다.
기본 개념은 경로에 몇 가지 문제가있는 경우 (예 : lib
루트 만 읽을 수있는 경우) 가 아니라면 DB를 보유한 파일 시스템을 마운트 지점이 아니라 변경해야한다는 것 입니다.
답변
또한
mount device mount-point -o uid=foo -o gid=foo
그룹도 변경해야하는 경우
답변
다음과 같이 uid와 gid를 추가하십시오.
/dev/mapper/db-db /var/lib/mysql ext3 relatime,rw,exec,uid=frank,gid=www-group 0 2
실제 사용자 / 그룹 이름 (공백에주의) 또는 숫자 uid, gid 값을 사용할 수 있습니다. rw 및 exec를 추가하여 액세스 문제를 방지하는 데 도움이 될 수 있습니다 (프로덕션 서버가 아닌 개발 시스템에 있다고 가정).
추신 : 원하는 경우 더 많은 액세스를 위해 “, dir_mode = 0777, file_mode = 0777″을 추가하십시오.
답변
파일 시스템이 마운트되지 않은 경우 권한을 변경해야합니다. 마운트 된 상태에서 파일 시스템이 작동하지 않았습니다.
또한 ‘user’옵션을 fstab에 추가 할 수 있습니다 (예 :
/dev/mapper/db-db /var/lib/mysql ext3 relatime,user 0 2
이는 mount 명령 (호출이 필요한 경우)이 해당 볼륨을 마운트하기 위해 루트 권한이 필요하지 않음을 의미해야합니다. fstab을 변경하지 않아도 문제 해결이 중단되지는 않습니다!
답변
나는 보통 비어있는 마운트 해제 된 디렉토리에서 이것을한다
chmod 777 <directory>
그런 다음
chown -R mysql.mysql <directory>
그런 다음 / etc / fstab에서
<device> <directory> ext3 user,defaults 0 2
그런 다음 사용
mount -a
/ etc / fstab에 나열된 모든 파일 시스템을 마운트합니다.
이것은 나를 위해 작동합니다. 시도 해봐
답변
mount
명령 행의 일부로 만 수행 하려면 -o
스위치를 사용하여 다음 을 수행하십시오.
mount device mount-point -o uid=foo
마운트 지점의 소유자 foo
가 root 대신 user로 변경 됩니다.