
이전 OS였던 두 번째 HDD가 있습니다. 부팅할 때 /var/lib/mysql 폴더는 mysql:mysql이지만 새 OS에 마운트(LVM)하면 nvidia-persistenced:vboxusers입니다.
새 시스템에 대해 cp -pr을 수행하고 싶지만 권한이 이와 같은 경우에는 수행할 수 없습니다.
어떤 아이디어가 있나요?
답변1
사용자 이름은 실제로 /etc/passwd
. 마찬가지로 그룹 이름은 의 GID에 매핑됩니다 /etc/group
. ID는 필요할 때 결정됩니다. 0은 항상 루트이지만 그 밖의 거의 모든 것은 사용자와 그룹이 생성될 때 결정됩니다.
이러한 *ID는 시스템이 정의된 사용자 및 그룹으로 해석하는 거의 임의의 정수입니다. ID는 필요할 때 결정됩니다. 0은 항상 루트이지만 그 밖의 거의 모든 것은 사용자와 그룹이 생성될 때 결정됩니다.
파일이 디스크에 기록될 때 문자열 표현이 아니라 디스크에 저장되는 UID 및 GID 값입니다. 그리고 그것이 바로 여기서 일어나고 있는 일입니다. 보조 설치의 사용자→UID 및 그룹→GID 매핑이 첫 번째 설치의 UID와 일치하지 않습니다. 파일 소유권을 잘못된 사용자에게 매핑하고 있습니다.
이전 설치가 이 문제의 요인이 되지 않을 경우 소유권을 mysql 사용자에게 다시 매핑하기만 하면 됩니다.
sudo chown --recursive mysql: /var/lib/mysql
실제 MySQL 설치를 확인했고 내 파일의 모든 파일이 /var/lib/mysql
소유되었으므로 mysql:mysql
이것이 정확해야 한다고 생각합니다.
이전 설치를 다시 사용하려면(예: 이중 부팅 스타일 배열) 좀 더 창의적이어야 합니다. 이러한 경우 사용자 및 그룹에 대한 UID 및 GID 매핑을 변경하여 동일하게 해야 할 수도 있습니다. 그런 다음 새 시스템에서 해당 파일을 수정해야 합니다. 상당히 지루할 것입니다.