후배가 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
'linux > APM' 카테고리의 다른 글
MySql DB생성 및 삭제 사용자 추가/삭제 권한부여(외부접근) (0) | 2015.11.19 |
---|---|
[ubuntu] Mysql 사용자 생성 (0) | 2015.11.19 |
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) (0) | 2015.11.19 |
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements (0) | 2015.11.19 |
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement (0) | 2015.11.19 |