MySQL 외부 접속

wook2·2022년 7월 18일
0
post-thumbnail

aws ec2 서버에 설치한 mysql에 외부접속하기


MySQL 계정 생성

mysql에 접속할 유저를 생성해 준다. mysql은 사용자 아이디, 비밀번호, 호스트주소를 통해 접속을 허용해 준다.

계정 생성하기

sudo mysql -u root -p ## root 계정으로 로그인
create user 'wook2'@'%' identified by 'password'; ## wook2라는 유저를 생성

%가 들어가는 위치에는 host주소를 작성해 주어 해당 호스트 접속만 받겠다를 설정할 수 있고, %는 모든 호스트를 받겠다는 뜻이다.

데이터베이스 생성 및 권한부여

create databases test; ## test라는 데이터베이스 생성
show databases;        ## 데이터베이스 목록 보여주기
use mysql;                  ## 테이블 정보 불러오기 위해 변경
select user,host from user; ## 유저 정보 불러오기

grant all privileges on test.* to 'wook2'@'%'; 
## 'wook2'@'%'에 test db에 접근할 수 있는 권한 제공

flush privileges; ## 권한변경 update

show grants for 'wook2'@'%'; ## 권한 보기


MySQL 외부 접속 설정

mysql 서버가 외부 접속을 허용하도록 0.0.0.0으로 모든 위치에서의 접근을 허용해 준다.

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

sudo service mysql restart ## 설정변경사항 적용하기

AWS 보안그룹 인바운드 규칙 추가

서버의 데이터베이스에 접근하기 전에 서버에 접근을 가능하게 하기 위해 어떤 주소로든 3306 포트로 mysql에 접근할 수 있게 규칙을 추가해 준다.


Datagrip으로 mysql 접속하기

datagrip에서 새 프로젝트를 생성 후, mysql을 연결해 준다.
host는 ec2 public ip를 사용하면 되고, user password에 이전에 만들었던 정보를 입력해 주면 된다.

성공적으로 업로드 된 모습이다.

profile
꾸준히 공부하자

0개의 댓글