[EC2] 인스턴스의 mysql 외부 접속하기
EC2 인스턴스에 mysql-server가 이미 설치되어 있다는 가정하에 진행한다.
1. Mysql Config 설정
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
sudo service mysql restart // 변경 후 mysql 재시작
bind-address 127.0.0.1
을 bind-address 0.0.0.0
으로 변경한다.
mysqlx-bind-address 127.0.0.1
을 mysqlx-bind-address 0.0.0.0
으로 변경한다.
(혹은 맨 앞에 #
을 넣어 주석처리 한다.)
확인하기
netstat -p tcp -van | grep LISTEN | grep 3306
위 사진처럼 0.0.0.0:3306
이어야 한다. 127.0.0.1
이 아닌지 확인한다.
2. 외부 허용 sql문 입력
mysql에 접속하여 진행한다.
mysql -u root -p // mysql 접속
create user 'root'@'%' identified by '[password]';
grant all privileges on *.* to 'root'@'%' with grant option;
3. mysql 재시작 & 포트 열기
sudo service mysql restart
sudo ufw allow out 3306/tcp
sudo ufw allow in 3306/tcp
sudo service mysql restart
4. EC2 포트 개방
포트 설정은 EC2 인스턴스 상세 페이지에서 할 수 있다.
보안 탭 누르기
인바운드 규칙 편집
규칙 추가 버튼을 누르고 내 IP와 사용할 포트 번호(3306)를 입력하고 규칙 저장 버튼을 누른다.
이제 EC2 인스턴스에 내 IP로부터 3306번 포트로 TCP 연결을 할 수 있도록 설정을 마쳤다.
5. 원격 접속 확인
로컬에서 확인
외부에서 EC2 인스턴스에 설치된 mysql에 접속이 잘 되는지 확인해보자.
mysql -u root -p -h [EC2 인스턴스의 IP]
mysql workbench 확인
Host name에 EC2 인스턴스 IP를 입력한 뒤 OK를 누른다.
참고
💛 개인 공부 기록용 블로그입니다. 👻