MySql : ERROR 1018 (HY000): Can't read dir of '.' (errno: 13)
발생원인 : 얼마전 , 하드용량이 자꾸 꽉 차서, 하드 추가 후, 기존 var 디렉토리를 추가 하드에 복사 후, 마운트 시켰다.
권한 설정까지 해서, 복사한 것으로 생각했는데... 흠
cp -a -p -R 옵션을 사용해서, 음... 그런데 뭔가 잘못됐나보다.
phpmyadmin 접속시, 오류로 보이지 않고, 컨솔에서 접속해도 안됐다. ㅠㅠ
-a: 원본 파일의 속성, 링크 정보들을 그대로 유지하면서 복사한다.
-b: 복사할 대상이 이미 있을 경우 기존 파일을 백업하고 복사한다.
-d: 만약 복사할 원본이 심볼릭 링크일 때 심볼릭 자체를 복사한다.
-f: 만약 복사할 대상이 이미 있으면 강제로 지우고 복사한다.
-i: 만약 복사할 대상이 이미 있으면 사용자에게 물어본다.
-l: 하드링크 형식으로 복사한다.
-P: 원본 파일 지정을 경로와 같이했을 경우 그 경로 그대로 복사된다.
-p: 파일의 소유자, 그룹, 권한, 시간 정보들이 그대로 보존되어 복사된다.
-r: 원본이 파일이면 그냥 복사되고 디렉터리라면 디렉터리 전체가 복사된다.
-s: 파일을 심볼릭 링크 형식으로 복사한다. 원본 파일이름을 절대 경로로 지정해야 한다.
-u: 복사할 대상이 있을 때 이 파일의 변경 날짜가 같거나 더 최근의 것이면 복사하지 않는다.
-v: 복사 상태를 보여준다.
-x: 원본과 대상 파일의 파일시스템이 다를 경우에는 복사하지 않는다.
-R: 디렉터리를 복사할 경우 그 안에 포함된 모든 하위경로와 파일들을 모두 복사한다.
검색하니 역시나 답이 바로 똬아! 복사하면서, 소유권 문제가 생겼었나보다.
You need to set ownership and permissions for directory:
1. chown -R mysql:mysql /var/lib/mysql/
2. service mysql restart
#your mysql user may have different name chmod -R 755 /var/lib/mysql/
Note: -R makes commands recursive - you may omit it, if there is no subdirs in /var/lib/mysql/.
해결 완료.
댓글