후배가 mysql에 계정을 만들어야 한다는데 서버 담당자가 자리를 비운 관계로 내가 하게 되었(...)

왜 때문에 나는 서버 잘 만지지도 못하는데 서버 들어갈 일이 많은고...

 

1. MySQL 에 root 계정으로 로그인

mysql -u root -p

 

2. mysql db를 선택

mysql> use mysql;

 

3. mysql db의 user 테이블에 새로운 사용자 계정을 추가한다. 

mysql> insert into user (host, user, password) values ('localhost', '계정', PASSWORD('패스워드')); 

 

4. mysql db에 있는 db 테이블의 컬럼 수 확인

mysql> desc db;

 

 

5. 새로 만든 사용자가 쓸 db를 만든다.

mysql> create database 'db명';

 

6. 새 계정과 새 db를 연결하고 접근권한 부여. 이 때, 4에서 확인한 db 테이블의 필드 수에 맞게 y를 입력해준다.

mysql> insert into db values('localhost', 'db명', '계정', 'y', 'y', ..., 'y'); # 이 경우 필드가 22개니까 y를 19개 입력해주면 됨. 

 

7. 추가한 내용 적용시킴!

mysql> flush privileges;

 

여기까지 하고 로그인 해보니 잘 된다. 그런데 후배가 접속이 안된다...? 

알고보니 host문제 였음. 계정 생성시 host를 'localhost'로 지정해줬는데 후배처럼 서버 밖의 다른 곳에서 MySQL에 접속하는 경우는 이렇게 하면 안되는 모양. 이 때는 host부분에 '%'라고 넣어주면 서버에서 알아서 host를 찾아준다고 한다. 즉, 다른 곳에서도 접속이 가능해지는 것. 

 

mysql> insert into user (host, user, password) values ('%', '계정', PASSWORD('패스워드'));

mysql> insert into db values('%', 'db명', '계정', 'y', 'y', ..., 'y'); 

 

이렇게 해주면 됨. 귀찮으니까 localhost로 생성한 것도 안지우고 놔둠. ㅋㅋ

다 해놓고 나서 select 해서 보니까 우리 랩 모든 계정이 다 이렇게 생성되어있다. ㅋㅋ %도 있고 localhost도 있고. 다들 시행착오를 겪는 모양 ㅋㅋ...

 

 

* 참고자료

http://blacklmh.tistory.com/23

http://parkshun2.tistory.com/entry/MYSQL-사용자-추가-및-db-생성

http://auctionpro.co.kr/?p=1614

 

출처 :

http://blog.naver.com/shy8501/220157225735


+ Recent posts