MySQL이 활성화되어 있는 동안 MySQL 데이터 디렉터리를 복사해 보았습니다(이것의 잠재적인 단점을 알고 있지만 MySQL은 계속 실행되어야 하기 때문에 중지할 수 없습니다).
.frm 및 .idb 파일의 일부 세부 정보를 조사하고 싶기 때문에 내보내기/가져오기 덤프는 내가 원하는 것이 아닙니다. 이 때문에 복사하고 싶습니다.
대부분의 파일을 복사할 수 있지만 일부는 복사할 수 없습니다. 실패한 파일들은 mysql 그룹과 사용자가 소유하고 있어서 .을 만들었 su mysql
으나 Permission denied
.
자세한 내용을 얻으려면 다음을 실행했습니다 strace -v
.
open("webinar_citrix_go_to_meeting_appointments.frm", O_RDONLY|O_NONBLOCK) = 4
fstat(4, {st_dev=makedev(253, 3), st_ino=787045, st_mode=S_IFREG|0660, st_nlink=1, st_uid=44897, st_gid=40898, st_blksize=4096, st_blocks=16, st_size=7396, st_atime=2019/06/26-00:23:19.012875620, st_mtime=2018/04/06-11:33:23, st_ctime=2018/04/27-09:00:12.027723187}) = 0
fcntl(4, F_GETFL) = 0x8800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE)
fcntl(4, F_SETFL, O_RDONLY|O_LARGEFILE) = 0
write(7, "C0660 7396 webinar_citrix_go_to_"..., 57) = 57
안타깝게도 내 이론을 뒷받침하는 오류 코드가 표시되지 않습니다. scp가 열린 파일을 무시하도록 하는 스위치가 있습니까?
ls -l
실패한 파일 중 하나(실패한 모든 파일은 동일한 권한을 가짐)에 대한 출력은 활성 사용자가 올바른 그룹 멤버십을 가지고 있음을 알려줍니다 -rw-rw---- 1 mysql mysql
.
id
uid=44897(mysql) gid=10100(user) groups=10100(user),40898(mysql)