> 제가 다음과 같이 설정을 해주고 나온 에러입니다. 보시고 꼭 답변 해주
> 세요...
>
> * db이름, user 이름, password 전부다 exam으로 설정했습니다.
>
>
>
> 1. exam이라는 이름으로 db 생성
>
> 2. /usr/local/mysql/bin/mysql -uroot -p 를 치고 패스워드 입력후 엔터
>
>
> 3. mysql> use mysql
>
> 4. mysql> insert into db values('%','exam','exam','y','y','y','y','y',
> 'y','y','y','y','y');
>
> 5. mysql> insert into user values('%','exam',password('exam'),'n','n',
> 'n','n','n','n','n','n','n','n','n','n','n','n')
>
> 6. mysql> flush privileges;
>
>
>
> 위와 같이 한후 mysql에서 빠져나왔구요...
>
>
>
> 프로그램은 다음과 같습니다. 가장 기본적인 연결 프로그램이예여...
>
> 호스트 아이피는 그냥 111.111.111.111로 적을께여.
>
> 진짜루 할땐 제 아이피(mysql이 설치된 컴퓨터의 아이피)를 적습니다.
>
>
>
> #include
>
> #include "/usr/local/mysql/include/mysql.h"
>
> #include
>
>
>
> int main(void) {
>
>
>
> MYSQL mysql;
>
> mysql_init(&mysql);
>
> if (!mysql_real_connect(&mysql,"111.111.111.111","exam","exam","exam",
> 3306, (char *)NULL,0))
>
> {
>
> printf("%s
",mysql_error(&mysql));
>
> exit(1);
>
> }
>
> else printf("connect success
");
>
> mysql_close(&mysql);
>
> }
>
>
>
> 위와 같은 프로그램입니다.
>
> 컴파일은
>
> gcc -o db db.c -I/usr/local/mysql/include -L/usr/local/mysql/lib -lmys
> qlclient
>
> 와 같이 했습니다.
>
> 위에서 호스트 부분을 localhost로 해줬을때는 아무 문제 없이 돌아가는
> 프로그램이 이렇게 해서 만들어진 db를 실행하게 되면
>
> 다음과 같은 메세지가 나옵니다.
>
>
>
> Access denied for user: 'exam@.......' (Using password: YES)
>
>
>
> 이렇게 나오고 접속이 안되요.......
>
> 제발 해결해주세요........
>
>
>
> 제가 멀 틀린거죠...
>
> 글자상의 틀린거는 없습니다.. localhost라고 설정했을때 제대로 돌아가니
> 까요.. 그거 말구 다른거 틀린거 있으면
>
> 가르쳐주세여....
>
안녕하세요..
APM을 배우고 있는 초보 이원희라고 합니다.
저의 홈에도 같은 질문있던데..
하하하..
저도 확실하게는 모르겠지만 제가 아는 내용에 대해 답변해 드리겠습니다.
(저의 홈에도 똑같이 답변을 했습니다.)
user 테이블의 host 필드 값의 문제 인것 같습니다.
mysql에서 사용자 접속 확인은 user,db,host 순서로 매칭을 됩니다.
그러니까 제일 먼저 host테이블을 검색하겠죠..
host 필드에는 공백 및 와일드 카드(%, _) 등이 들어 갈수 있죠..
% 는 모든 호스트를 뜻합니다. 이 값은 최소한도로 적용 되는 거죠..
그러니까..
매칭순서는 Mysql의 host 테이블의 정렬순서로 결정이 됩니다.
예를 들어 설명하면..
host user
% emac
localhost emac
이렇게 되어 있다면 mysql 검색순서는
host user
lcoalshot emac
% emac
위의 순서로 매칭을 시킵니다.
% 값은 제일 마지막으로 매칭이 된다는 점을 기억해 두기 바랍니다.
이것을 아시면 error의 원인을 밝힐수가 있을 것입니다.
한번 해 보세요..
그리고, 자세한 사항을 원하시면,,
문태준씨가 번역한 mysql 3.21 Reference Manual PostScript 매뉴얼의 grant의 내용을 참고 하세요..
그럼.. 도움이 되었으면 합니다.
부디 성공 하시길.. 바라며..
|