공부하자/Mysql

외부 db 접속 허용하기

YoBot 2018. 11. 26. 13:26

1. 외부 db 접속 허용하기


1. 외부 mysql 연결 상태 확인 방법

$netstat -ntlp


tcp6 0 0 :::3306  :::* LISTEN -


상기 부분처럼 출력이 되지 않을 경우

 

$sudo vi /etc/mysql/mysql.conf.d/mysqld.conf


접속 한 후, 아래와 같이 변경해 줍니다.

bind-address = 127.0.0.1 이부분을

#bind-address = 127.0.0.1 로 주석처리 해줍니다.

mysql 재시작은 계정생성 및 설정 이후, 하겠습니다.



2. 외부 mysql 접속 권한 계정 생성하기

2-1 mysql에 root로 접속합니다. 자신의 비밀번호 입력후, 로그인 합니다.

$mysql -uroot -p


2-2 계정 생성

mysql> create user '[UserName]'@'[HostName]' identified by '[Password]';


EX)

# 모든 호스트 접속을 허용

mysql> create user 'test'@'%' identified by '[Password]';

# 로컬 호스트 접속만 허용

mysql> create user 'test'@'localhost' identified by '[Password]';

# 특정 IP에 대한 접속 허용

mysql> create user 'test'@'192.168.1.123' identified by '[Password]';

mysql> create user 'test'@'192.168.%' identified by '[Password]';


저같은 경우 형식으로 생성하였습니다.

create user 'test'@'%' identified by '[Password]';


2-3 생성한 유저에 대한 접근 권할 설정

mysql> grant all privileges on [DatabaseName].* to '[UserName]'@'[HostName]';


Ex)저같은 경우 아래형식으로 생성하였습니다. (%는 모든 호스트를 말합니다.)

grant all privileges on testdb.* to 'test'@'%';


2-4-1 생성된 유저 확인

mysql> SELECT User, Host FROM mysql.user;


2-4-2 생성된 유저 삭제

drop user 'userID';

또는 

delete from user where user = 'userID';


2-5 Mysql 권환 초기화

mysql> flush privileges;


2-6 Mysql 서비스 재시작

$sudo service mysql restart


2. 외부 db 연동하기 [click]