이번 시간에 할 것은 Datagrip을 이용해서 인스턴스에 다운받은 Mysql에 외부에서 접속해 볼 것이다.
Datagrip을 사용하기 전에 먼저 외부에서 접속 할 Mysql 사용자를 설정해줘야 한다.
$ sudo mysql -u root -p
mysql> create user 'sanbonai06'@'%' identified by 'Yohan72301107@';
mysql> create database forMeDb
mysql> show databases;
정상적으로 생성되었으면 show databases;를 실행했을때 위의 사진과 같은 화면이 나온다.
mysql> grant all privileges on forMeDb.* to 'sanbonai06'@'%';
mysql> flush privileges;
mysql> show grants for 'sanbonai06'@'%';
sanbonai06이라는 사용자가 내가 내부에서 생성한 forMeDb에 권한을 가졌다 라는 내용이 출력 되었다.
$ cd /etc/mysql/mysql.conf.d
$ sudo vi mysqld.cnf
위의 코드처럼 /etc/mysql/mysql.conf.d의 경로로 들어가 mysqld.cnf의 파일을 열어준다. 열린 팡일에서 bind-address를 찾아 모두 접속 가능하게 0.0.0.0으로 주소를 바꿔준다.
그리고 mysql을 재시작 해준다.
저번 시간에 nginx를 접속할 때 인스턴스 서버에서 HTTP로 접속하는 인바운드 규칙을 추가해 준 것처럼 mysql도 추가해 줘야 한다.
사진처럼 유형: MYSQL 소스: anywhere로 설정해 준다. 포트범위는 유형이 MYSQL이기 때문에 자동으로 3306으로 따라온다.
이제 아까 다운받아놓은 Datagrip을 실행한다.
Datagrip 실행 -> 빈 프로젝트 실행 -> database 선택 -> Mysql 선택
위 과정을 실행했으면 위 사진과 같은 화면이 나올 것이다. 이제 나의 데이터베이스 정보들을 입력하면 된다.
Name: 임의 설정, Host: 인스턴스 IP 주소, 포트번호: 3306, user와 비밀번호: Mysql에서 설정한 user의 정보 (ex: sanbonai06, Yohan72301107@)
정보들을 모두 입력하고 Test Connection 을 눌러준다. 위의 사진처럼 Succeeded 가 뜨면 성공이다.
Apply버튼을 눌러서 확인해 보면 Mysql에서 만들어 줬던 forMeDb가 확인되는 것을 알 수 있다.