2016. 3. 11. 14:59ㆍDB
1. 테스트 환경 OS : CentOS MySQL version : 5.1 2. 테스트 사항 특정 사용자 계정의 외부접속 허용하기 테스트 계정 : dymoon 사용하는 GUI 툴 : MySQL Workbench
|
########################### 테스트 ###############################
1. MySQL에 생성되어 있는 DB확인.
- 우리가 사용하게 될 DB는 mysql 이다. 이곳에 계정관련한 테이블이 있다.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ |
2. DB 선택.
mysql> use mysql Database changed |
3. 테이블 조회.
- "user" 테이블을 확인 할 수 있다.
- "user" 테이블이 mysql DB 사용자에 대한 정보를 가지고 있다.
mysql> show tables;
+---------------------------+ | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | event | | func | | general_log | | help_category | | help_keyword | | help_relation | | help_topic | | host | | ndb_binlog_index | | plugin | | proc | | procs_priv | | servers | | slow_log | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ 23 rows in set (0.00 sec) |
4. "user" 테이블 데이터 조회.
- host , user , password 정보만 조회.
mysql> select host,user,password from user; +-----------+---------+-------------------------------------------+ | host | user | password | +-----------+---------+-------------------------------------------+ | localhost | root | | | pop | root | | | 127.0.0.1 | root | | | localhost | | | | pop | | | | % | popuser | | | localhost | popuser | | | localhost | dymoon | *81CBBB6187A7F80F4C34197AEB9D7DF6F71457DC | +-----------+---------+-------------------------------------------+ 8 rows in set (0.00 sec) |
- host 명이 접속 가능한 PC를 의미하는데
"dymoon" 계정의 정보를 보면 localhost 즉 mysql DB가 설치되어 있는 리눅스서버에서만 접속 가능하도록 되어 있다.
그래서, 개인 PC에서 MySQL Workbench 로 접속할 수 가 없는 것이다.
5. 외부에서 접속 가능하도록 설정 추가.
- 비밀번호를 설정하지 않았다.
- 비밀번호를 설정할 경우 query : mysql> grant all privileges on *.* to 'dymoon'@'%' identified by 'dymoon의 패스워드';
mysql> grant all privileges on *.* to 'dymoon'@'%'; Query OK, 0 rows affected (0.00 sec) |
6. 등록 확인.
- "dymoon" 계정의 host 필드에 %가 등록되었는지 확인.
mysql> select host,user,password from user; +-----------+---------+-------------------------------------------+ | host | user | password | +-----------+---------+-------------------------------------------+ | localhost | root | | | pac | root | | | 127.0.0.1 | root | | | localhost | | | | pac | | | | % | pacuser | | | localhost | pacuser | | | % | dymoon | *81CBBB6187A7F80F4C34197AEB9D7DF6F71457DC | | localhost | dymoon | *81CBBB6187A7F80F4C34197AEB9D7DF6F71457DC | +-----------+---------+-------------------------------------------+ 9 rows in set (0.00 sec) |
7. refresh
mysql> flush privileges; |
8. 확인.
- MySQL Workbench 실행하여 접속이 정상적으로 되는지 확인하고 끝.