본문 바로가기

logs

gcp] mariadb(mysql) 외부에서 접속 허용하기

외부에서 DB로 직접 접속하려면 아래 두가지가 만족해야 함

1. 외부 ip 접근에 대해 해당 포트 방화벽이 열려있는가?

2. 접근하려는 데몬이 0.0.0.0으로 떠 있는가?

외부 ip 접근에 대해 포트 방화벽 열기

1. VPC network > Firewall rules 메뉴에 들어간다.

https://console.cloud.google.com/networking/firewalls/list

Compute Engine > VM Instance > 인스턴스 선택

Network interfaces > Name 누름 > Network interface details 화면으로 들어와짐

좌메뉴에서 Firewall rules

2. 방화벽 룰을 추가한다.

상단에 "+CREATE FIREWALL RULE"

※ Direction of traffic 부분에 Ingress, Egress 각각 하나씩 만들어주어야 함

==> 여기까지하면 3306포트 방화벽 연것

데몬 어드레스 변경하기

ip를 통해서 mysql (3306) 로 접근 가능하도록 하려면 mysql 데몬이 0.0.0.0으로 떠있어야함

1
2
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      -  
cs

확인해보니 127.0.0.1로 떠있었음.. 이러면 localhost로 밖에 접근 안됨

 

 

바꾸는방법은 (mariadb 기준)

1
2
3
4
$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
 
# bind-address = 127.0.0.1
bind-address = 0.0.0.0
cs

이렇게 변경해준 후 데몬 재시작 함

1
sudo /etc/init.d/mysql restart
cs

 

1
2
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      -     
cs

잘 떠있는걸 확인하고 내피씨에서 서버 아이피로 mysql 직접 접속해보니까 접속 됨!!

반응형