본문 바로가기

서버/AWS EC2

AWS EC2에 MySQL 설치하고 개발환경 구성하기

1. MySQL 설치

$ sudo apt-get update
$ sudo apt-get install mysql-server

 

 

2. MySQL 실행

$ /etc/init.d/mysqld start
// MySQL 서버시작

$ ps -ef | grep mysql
// 실행확인

$ sudo /usr/bin/mysql -u root -p
// MySQL 접속

 

3. ROOT계정 비밀번호 생성

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '비밀번호';

 

 

4. 인바운드 설정

aws ec2 홈페이지의 인바운드 설정으로 가서

http 인바운드 설정 한 것 처럼 MySQL 인바운드도 위치무관으로 열어준다.

MySQL의 디폴트 포트번호는 3306이다.

 

 

 

5. 원격 접속 허용

https://zetawiki.com/wiki/MySQL_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9

 

MySQL은 기본적으로 localhost에서만 접속이 가능하다.

 

EC2에 설치된 MySQL은 로컬이 EC2서버이므로

 

내 컴퓨터에서 접속해서 조작하기 위해서는 몇가지 해야 할 일이 있다.

 

 

5-1) EC2의 PuTTY에 접속해서 쿼리를 날려보자.

MYSQL> SELECT Host,User,plugin,authentication_string FROM mysql.user;

root계정은 localhost에서 접속이 가능하다고 나온다.

 

 

5-2) 모든 ip대역에서 접속가능한 root계정을 하나 더 만든다.

root@% 계정이 하나더 생긴 것을 알 수 있다.

 

 

5-3) Listen IP 대역설정

$ netstat -ntlp | grep mysqld

127.0.0.1을 0.0.0.0으로 바꿔보자.

 

mysql.conf.d 파일을 만져야 한다.

vim /etc/mysql/mysql.conf.d

bind-address를 0.0.0.0으로 위처럼 바꿔준다.

 

이후 mysql을 재시작해주고 확인하면 0.0.0.0으로 바뀐 것을 볼 수 있다.

 

 

 

 

 

 

 

6. 원격 접속하기

 

DB를 관리하는 데에는 Toad, DataGrip등 여러가지가 있지만

 

나는 MySQL깔면서 같이 설치된 WorkBench를 써보기로 했다.

 

Workbench를 실행시키고 상단의 [Database] - [connect to Database]를 누르고 EC2의 IP를 입력한다.

계정명은 root로 입력하고 OK를 누르면 비밀번호를 입력한 뒤 접속한다.

 

 

 

 

아까전의 명령어로 User 검색을 해보니 동일한 결과를 출력하였다.