mysql 외부접속 허용및 제거

//mysql 외부접속 허용및 제거

mysql 외부접속 허용및 제거

웹서버와 디비서버를 분리할경우 외부에서 mysql에 접속하려면 외부접속 권한이 필요하다

 

일반적으로 외부접속 권한이 없을시 아래와 같은 메시지가 나옴
ERROR 1130 (HY000): Host ‘192.168.0.10’ is not allowed to connect to this mysql server

mysql 서버에서 콘솔로 접속해서 권한을 확인해보면 localhost 나  127.0.0.1  로 등록 되어있는걸 확인할수 있다

mysql> use mysql
mysql> select host, user, password from user;

권한설정
모든 ip허용
% 는 모든ip를 허용하지만 localhost는 포함되지 않음
mysql> GRANT ALL privileges ON *.* TO 아이디@’%’ IDENTIFIED BY ‘패스워드’;

특정ip허용
mysql> GRANT ALL privileges ON *.* TO 아이디@’111.111.111.111′ IDENTIFIED BY ‘패스워드’;

설정적용
mysql> FLUSH privileges;

 

외부접속 허용제거
% 모든아이피 허용제거
mysql> DELETE FROM mysql.user WHERE Host=’%’ AND User=’아이디’;

특정ip허용 제거
mysql> DELETE FROM mysql.user WHERE Host=’111.111.111.111′ AND User=’아이디’;

설정적용
mysql> FLUSH privileges;

 

외부접속 확인방법
mysql -h 111.111.111.111 -u servblog -p
설정이 바르게 적용됬으면 정상적으로 접속되는걸 확인할수 있다

mysql 서버에  iptables 에서 mysql포트가 차단되어 있는지 확인한다
my.cnf 파일에 아래와 같은 설정이 있을시 삭제한다
bind-address = 127.0.0.1

About the Author: