MySQL 외부에서 접속하기

MySQL 외부에서 접속하기

AWS 서버 구축에 이어서 AWS EC2 MySQL 서버에 외부 접속하기

외부 접속을 위한 툴로는 DataGrip을 사용한다.

1. MySQL 사용자 생성하기

sudo mysql -u root -p mysql> create user 'seongwoo'@'%' identified by 'password';

사용자를 생성할 때 다음과 같이 설정한다.

'seongwoo'@'%' : 모든 ip주소에서 seongwoo 사용자로 접근 가능

'seongwoo'@'localhost' : 내부에서만 seongwoo 사용자로 접근 가능

'seongwoo'@'x.x.x.x' : 지정 ip 주소에서만 seongwoo 사용자로 접근 가능

password에는 원하는 비밀번호를 적어준다.

2. 사용자 생성 확인하기

mysql> use mysql; mysql> select user, host from user;

사용자 생성 확인

3. 데이터베이스 생성

mysql> create database seongwoodb

seongwoodb 생성 확인

4. 데이터베이스 권한 부여

mysql> grant all privileges on seongwoodb.* to 'seongwoo'@'%';

위의 코드로 seongwoo 계정에 seongwoodb 데이터베이스의 모든 테이블(seongwoodb.*)에 모든 권한(all)을 부여하였다.

권한 부여 확인

5. MySQL 외부 접속 설정

/etc/mysql/mysql.conf.d/mysqld.cnf (MySQL 설정 파일)을 수정해야 한다.

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

초기에 bind-address가 127.0.0.1로 설정되어있다.

이것을 0.0.0.0으로 바꾼다. (주석으로 처리해도 된다.)

sudo service mysql restart

재시작을 통해 변경사항을 적용한다.

6. 인스턴스 인바운드 규칙 설정

MySQL 규칙을 추가해준다. ( 3306 포트를 열어준다 )

7. DataGrip 사용하기

DataGrip에서 데이터베이스를 생성한다.

Name: 원하는 이름

Host: EC2 인스턴스의 공인 IP주소

User & Password : 위에서 만든 MySQL의 사용자와 비밀번호

입력 후 Test Connection을 진행한다.

Test Connection 진행 성공

8. DataGrip 작동 확인

더보기 show databases;

위의 코드를 입력하여 확인한 결과 외부 접속이 잘 되는 것을 확인했다.

from http://park-algorithm.tistory.com/32 by ccl(A) rewrite - 2021-09-17 20:26:57