Mysql 외부에서 접속하기 (feat. Datagrip)

김민준·2021년 11월 28일
0

라이징캠프 2주차

목록 보기
4/8

이번 시간에 할 것은 Datagrip을 이용해서 인스턴스에 다운받은 Mysql에 외부에서 접속해 볼 것이다.

  • Datagrip이란? : 외부 접속을 하기 위해서 DB 개발과 관리를 용이하게 해주는 GUI 개발 툴이다.

Datagrip을 사용하기 전에 먼저 외부에서 접속 할 Mysql 사용자를 설정해줘야 한다.

Mysql 사용자 설정

$ sudo mysql -u root -p
mysql> create user 'sanbonai06'@'%' identified by 'Yohan72301107@';
  • 'Username'@'%' : 해당 사용자는 외부에서 접근가능한 권한 부여

데이터베이스 생성

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에 권한을 가졌다 라는 내용이 출력 되었다.

Mysql 접속 설정

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


위의 코드처럼 /etc/mysql/mysql.conf.d의 경로로 들어가 mysqld.cnf의 파일을 열어준다. 열린 팡일에서 bind-address를 찾아 모두 접속 가능하게 0.0.0.0으로 주소를 바꿔준다.
그리고 mysql을 재시작 해준다.


Datagrip으로 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가 확인되는 것을 알 수 있다.

profile
기록하는 개발자가 되자

0개의 댓글