mysql에서 #1006-Can't create database 'testuser' (errno:13)
안녕하세요?
APM연동을 하려고 설치하고 정상 동작하는것은 확인했습니다.
openssh로 MySQL에 접속을 한다음 create database testuser;
을 하게되면..
#1006 - Can't create database 'testuser'. (errno 13)
이와같은 오류를 냅니다.
혹시나 제가 잘못해서 phpmyadmin을 설치해서 확인하니 아래와
같은 오류를 내길레 phpschool에서 검색을 해보니 df로 용량체크를
해보라는 답변이외는 별다른 답이 없더군요. 구글에서도 그렇고..
--------------------------------------------------------------------
오류
SQL 질의
CREATE DATABASE `testuser` ;
MySQL 메시지
#1006 - Can't create database 'lemu'. (errno 13)
--------------------------------------------------------------------
MySQL 버전 3.23.58에
커널버전은 레드헷리눅스 7.3 커널 2.4.18-3 입니다.
그리고 MySQL은 소스컴파일을 했습니다. 처음 설치에서 에러가 나길레
mysql유저그룹과 유저생성을 해주니 정상적으로 설치되었습니다.
에러 코드를 찾아보려 시도를 해봤지만 마땅한 정보가 없더군요.
문제는 13번 에러때문에 db를 생성하지 못한다는 것입니다.
어떻게 해야 각 유저에게 DB를 생성해서 나눠줄수 있을까요?
몇일쩨 이걸로 검색만 했는지 모르겠습니다.
http://www.webmasterworld.com/forum13/61
http://www.webmasterworld.com/forum13/618.htm
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
자문자답
상당기간 속썩이던 문제가 혹시나 하고 MySQL을 같은 버전으로 제설치를
했습니다. 해결 안되길레 뭔가 문제가 있나보다. 생각하다가 MySQL에서
에러가 host가 없다. 가지고 있던 기존의 111.222.333.444이런 이름이
되길레 .. hosts파일을 이전처럼 IP로 수정 해주니까 DB생성이 되더군요.
그렇게 해결은 일단 봤습니다.
그런데.. DB가 생성이 되어도 user단위로 생성되는게 아니라 root가
모조리 잡고 있내요. 설정은
---------
mysql> insert into user values('localhost',
-> 'new_user',password('new_password'),
-> 'n','n','n','n','n','n','n','n','n',
-> 'n','n','n','n','n');
Query OK, 1 row affected (0.07 sec)
---------
mysql> insert into db values('localhost',
-> 'new_db','new_user',
-> 'y','y','y','y','y','y','y','y','y','y'); //10개
Query OK, 1 row affected (0.02 sec)
---------
mysql> create database new_db;
Query OK, 1 row affected (0.01 sec)
이렇게 했습니다. 유저가 DB에 접속도 되지 않습니다.
이상하네요. 음.. 어떻게 된것일런지, 혹 제가 잘못 옾션을 준건지
아시는분 답변좀 부탁드립니다.
edit --------------------->
태영님의 답글을 보고 읽어보니까 왜 그렇게 된건지 이해가 되네요. oops
host가 바뀌어서 DB를 생성할 권한이 없어진것이로군요. (그래도 root로
접속한건데.. local상의 root와 mysql의 root는 전혀달라서 그런건지.. )
태영님 감사합니다.
머리는 느려지고 늘어가는건 담배 꽁초 수..
insert로 유져 생성을 하면.. 권한이.. 바로 재조정되지 않습니다.
insert로 유져 생성을 하면.. 권한이.. 바로 재조정되지 않습니다..
flush all privillage 던가.. 하튼.. 스펠이 정확하게 기억나지 않는군요
오랫동안 쓰지 않다보니... 흠흠 하튼..
grant table내용을.. 새로 읽어들이도록 명령을 내리거나..
mysql데몬을 재시작해야지 그 내용이 반영됩니다.
insert로 저렇게 y개수 세가면서.. user를 생성하기 보다는..
grant all on 디비이름.* to 유져이름@호스트 identified by '비밀번호';
나
grant insert,select on 디비이름.* to ...
식으로.. 주고싶은 권한만을 명시해주면서..
유져를 생성할 수도 있습니다..
사용자를 생성할때는 insert를 쓰는것보다 grant를 쓰는게 좋습니다..
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
오호 신기한..
제가 메뉴얼을 다 읽지 않아서 그런가봅니다.
감사합니다. D
머리는 느려지고 늘어가는건 담배 꽁초 수..
댓글 달기