DBMS/MySQL

[MySQL] 외부접속 허용하는 방법

쌍쌍바나나 2016. 6. 21. 22:00
반응형

MySQL 외부접속 허용하는 방법

MySQL Server를 설치한 후에 외부에서 접근하는 방법에 대해서 설명하려고 합니다. 외부 접근을 하기 위해서는 두가지를 변경해야 합니다.

  • bind-address 변경
  • 계정 권한 변경

bind-address 변경하기

shell에서 아래와 같이 입력을 하면, mysql configure파일이 확인이 가능합니다.

$ sudo vi /etc/mysql/my.cnf

configure파일이 열리면 항목중에 [mysqld]라는 항목이 있습니다. 하단에 보면 bind-address의 값이 기존에는 127.0.0.1로 지정이 되어있습니다. 그 값을 0.0.0.0으로 변경합니다. 이렇게 변경이 되면 이제 외부에서도 접근이 가능합니다.

[mysqld]
bind-address            = 0.0.0.0
#bind-address           = 127.0.0.1


계정 권한 변경하기

mysql을 접속을 합니다.

$ mysql -u root -p

  접속을 한 뒤에는 계정의 mysql의 databases를 선택하고, root에게 모든 IP에서 허용이 가능하도록 권한을 변경합니다. *은 모든 database와 table을 의미하고, %는 모든 호스트를 의미합니다. 권한 및 계정에 대해서 더 자세히 알고 싶으시면 http://ourcstory.tistory.com/45 을 확인하세요.

$ grant all privileges on dbname.table to userid@host identified by 'password';
$ grant all privileges on *.* to root@'%' identified by 'password';

  이렇게 bind-address와, 계정의 권한을 변경한 뒤에 아래와 같이 재시작을 해주면, 외부에서도 접근이 가능합니다. 만약에 공유기를 사용하시는 분이라면 3306의 포트를 포트 포워딩을 통해 접속하시면 됩니다.

$ sudo service mysql restart


반응형