MySQL 원격 접속 허용

MySQL을 설치를 진행하게 되면 기본적으로는 로컬에서만 접속이 가능하도록 설치가 됩니다. 

이런 설정을 외부에서 DB를 접속 할 수 있게 변경을 해줘야 합니다. 

 

1. MySQL 접속 IP 확인

5.7 이상 버전 : SELECT Host,User,plugin,authentication_string FROM mysql.user;

5.6 이하 버전 : SELECT Host,User,plugin,password FROM mysql.user;

위에 있는 명령어로 확인이 가능합니다. 

 

mysql> SELECT Host,User,plugin,authentication_string FROM mysql.user;

+-----------+---------------+-----------------------+-------------------------------------------+
| Host      | User          | plugin                | authentication_string                     |
+-----------+---------------+-----------------------+-------------------------------------------+
| localhost | root          | mysql_native_password | *97925E5A498F7FDBC94DAC363A9753359A6E14D9 |
| localhost | mysql.session | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys     | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
+-----------+---------------+-----------------------+-------------------------------------------+

출력된 결과를 보면 root인 사용자로 DB를 외부에서 접속시 localhost에만 접속이 가능하게 되어 있어 접속이 불가합니다. 

 

2. 외부 IP 추가

외부 IP접속이 추가하는 방법은 3가지 정도로 나눈다. 

2-1. 모든 ip에서 접속시 허용

GRANT ALL PRIVILEGES ON *.* TO '아이디'@'%' IDENTIFIED BY '패스워드';

FLUSH PRIVILEGES;

 

2-2. 특정 ip대역에 접속시 허용

GRANT ALL PRIVILEGES ON *.* TO '아이디'@'111.222.%' IDENTIFIED BY '패스워드'; 

FLUSH PRIVILEGES;

 

2-3. 특정 단일 ip에서 접속시 허용

GRANT ALL PRIVILEGES ON *.* TO '아이디'@'111.222.33.44' IDENTIFIED BY '패스워드';

FLUSH PRIVILEGES;

 

3. 등록 확인 후 적용

등록이 끝났다고 하면 SELECT Host,User,plugin,authentication_string FROM mysql.user; 명령어로 확인 후 외부에서 다시 접속을 시도해 봅시다. 

 

 

 

 

+ Recent posts