마운트 지점 소유자를 변경하는 방법 옮겼으므로 이제는 /var/lib/mysql다른 파티션의 마운트 지점

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로 변경 됩니다.