외부에서 MySQL 접속하기

고둑·2021년 7월 2일
0

Server

목록 보기
5/6
post-thumbnail
post-custom-banner

MySQL 접속을 위한 준비

1. MySQL에 접근하기 위한 유저 만들기

EC2 인스턴스 서버에서 root계정으로 접속해서 계정을 만든다.

$ sudo mysql

mysql> create user 'admin'@'%' identified by '비밀번호';

//만든 계정 확인
mysql> use mysql;
mysql> select user, host from user;

그리고 admin계정으로 조회할 수 있는 데이터베이스 및 테이블을 생성한다.

mysql> create database test;
mysql> use test;
mysql> create table ttest(test1 varchar(100), test2 varchar(100));
mysql> insert into ttest(test1,test2) values('10','20');
mysql> insert into ttest(test1,test2) values('20','30');

2. 데이터베이스 접근 권한 주기

mysql> grant all privileges on test.* to 'admin'@'%';
mysql> flush privileges;
mysql> show grants for 'admin'@'%';

test라는 데이터베이스에 대한 모든 권한을 admin 계정에게 준 것이다.
그리고 flush privilegesgrant라는 테이블을 즉시 리로드해서 변경 사항을 즉시 반영하게 하는 명령어이다.
이로써 admintest에 대한 모든 권한을 가지게 되었다.

3. MySQL 외부 접속 설정

원격 접속하기 위한 계정 설정은 끝났고 이제 원격 접속을 가능하게 MySQL 설정 파일을 변경하여야한다.

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

안에 bind-address127.0.0.1로 되어있는데, 외부 접속을 허용해주기 위해 이를 0.0.0.0으로 바꿔준다.

AWS EC2 인스턴스에서도 인바운드 규칙을 설정해주어야한다.

MySQL이 사용하는 포트인 3306도 인바운드 규칙에서 허용해준다.

$ sudo dervice mysql relaod

MySQL을 재실행해준다.

MySQL 원격 접속 프로그램 설치

로컬에서 원격 데이터베이스로 붙을 때 사용하는 MySQL의 대표적인 GUI 클라이언트Workbench(무료), SQLyog(유료), Sequel Pro(맥 전용), DataGrip(유료) 등이 있다. 각각의 도구마다 큰 차이가 없으니 본인이 가장 좋아하는 툴을 사용하면 된다.

무료인 Workbench를 이용하겠다.

1. Workbench 설치하기

공식 사이트에서 다운받고 설치를 했다

2. Workbench로 로그인하기

Workbench를 설치하면 아래와 같이 새로운 연결로 로그인하는 창이 뜬다.

아래 사진과 같이 설정을 해준다.
Connection Name에는 인식할 수 있는 이름을
Hostname에는 인스턴스의 퍼블릭 IPV4 주소
Username에는 MySQL에 접속하기 위해 만들었던 admin게정을
그리고 Password에는 Store in Vault를 누르면 아래와 같이 따로 비밀번호를 넣는 칸이 나온다.
비밀번호를 넣고 ok를 누르고 Test Connection을 누르면 연결이 완료된다.

원격 접속


짜잔 원격 접속 완료!!

profile
문워킹은 하지말자
post-custom-banner

0개의 댓글