reference
https://luminitworld.tistory.com/82?category=975147
https://sangm1n.github.io/aws-connet/
https://velog.io/@oyeon/MySQL-%EA%B8%B0%EB%B3%B8-%EC%82%AC%EC%9A%A9%EB%B2%95
클라우드 서버 : AWS EC2 인스턴스
OS : Ubuntu 20.04 LTS
WebServer : Nginx
BL : PHP
DBMS : MySQL
~$ mysql -u root -p
mysql> create user 'spring'@'%' identified by '비밀번호';
mysql> show databases;
mysql> use mysql;
mysql> select user, host from user;
spring 사용자가 생성된 것을 확인할 수 있다.
mysql> create database springdb
mysql> grant all privileges on springdb.* to 'spring'@'%';
mysql> select user, host from user;
mysql> flush privileges;
mysql> show grants for 'spring'@'%';
spring 사용자가 springdb 데이터베이스에 대한 권한을 부여받은 것을 확인할 수 있다.
~$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
...
bind-address = 0.0.0.0
...
bind-address를 0.0.0.0으로 설정해서 외부 접속을 허용
~$ sudo service mysql restart
mysql 재시작하여 변경사항 적용
보안그룹 링크로 들어가 MYSQL 규칙을 추가하였다. 이로써 외부 접속에 대한 설정을 마쳤다.
외부 접속 확인은 MySQL Workbench를 통해 진행했다.
새로운 connection을 추가하여 Hostname에는 인스턴스의 '퍼블릭 IPv4 주소', Username에는 이전에 생성한 Mysql 계정명을 입력하고 Test Connection을 진행한다.
정상적으로 연결된 것을 확인할 수 있다.