마운트 지점 소유자를 변경하는 방법


44

mysql 데이터 디렉토리를 다른 디스크로 옮겼으므로 이제는 /var/lib/mysql다른 파티션의 마운트 지점 일뿐입니다. /var/lib/mysql디렉토리 의 소유자를로 설정 했습니다 mysql.mysql.

그러나 파티션을 마운트 할 때마다 소유권이로 변경됩니다 root.root. 이로 인해 추가 MySQL 데이터베이스를 만들 수 없습니다.

fstab 항목 :

/dev/mapper/db-db   /var/lib/mysql    ext3    relatime        0       2

마운트 지점 소유자를 루트 이외의 사용자로 변경하는 방법은 무엇입니까?

답변:


43

파일 시스템이 마운트되지 않은 경우 마운트 지점이 아니라 마운트 된 파일 시스템의 권한을 변경해야합니다. 그래서 mount /var/lib/mysql다음 chown mysql.mysql /var/lib/mysql. MySQL DB 파일 시스템의 루트 권한이 변경됩니다.

기본 개념은 경로에 몇 가지 문제가있는 경우 (예 : lib루트 만 읽을 수있는 경우) 가 아니라면 DB를 보유한 파일 시스템을 마운트 지점이 아니라 변경해야한다는 것 입니다.


32

또한

mount device mount-point -o uid=foo -o gid=foo

그룹도 변경해야하는 경우


2
여기서 uid foo는 마운트 지점의 소유자가 되려는 사용자의 이름입니다. 그리고 gid foo는 사용자 그룹의 이름이며 일반적으로 사용자 이름과 동일합니다. 의심스러운 점 ls -l은 홈 디렉토리를 입력 하고 이름과 이름을 각각 확인하십시오.
Zequez

10

다음과 같이 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"을 추가하십시오.


3
아뇨 relatime. lwn.net/Articles/244829
endolith

7
-1 uidgid플래그 는 Linux 권한 스키마를 지원 하지 않는 파일 시스템 ( 예 : FAT 및 NTFS) 에서만 작동 합니다. 참조 askubuntu.com/a/34068/329506
mgarciaisaia

2
예, uid / gid 문제가 발생했습니다. 해결책이 있습니까?
tofutim

이것은 FAT32 드라이브에 도움이되었습니다. 감사합니다.
Naeem Khan

3

파일 시스템이 마운트되지 않은 경우 권한을 변경해야합니다. 마운트 된 상태에서 파일 시스템이 작동하지 않았습니다.

또한 'user'옵션을 fstab에 추가 할 수 있습니다 (예 :

/dev/mapper/db-db   /var/lib/mysql    ext3    relatime,user        0       2

이는 mount 명령 (호출이 필요한 경우)이 해당 볼륨을 마운트하기 위해 루트 권한이 필요하지 않음을 의미해야합니다. fstab을 변경하지 않아도 문제 해결이 중단되지는 않습니다!


2

나는 보통 비어있는 마운트 해제 된 디렉토리에서 이것을한다

chmod 777 <directory>

그런 다음

chown -R mysql.mysql <directory>

그런 다음 / etc / fstab에서

<device>    <directory>  ext3   user,defaults 0 2

그런 다음 사용

mount -a

/ etc / fstab에 나열된 모든 파일 시스템을 마운트합니다.

이것은 나를 위해 작동합니다. 시도 해봐


2

mount명령 행의 일부로 만 수행 하려면 -o스위치를 사용하여 다음 을 수행하십시오.

mount device mount-point -o uid=foo

마운트 지점의 소유자 foo가 root 대신 user로 변경 됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.