Backend/DB

AWS EC2 생성 MySQL 설치

zigo0 2023. 5. 4. 00:28

1. EC2 생성

1- EC2 대시보드에 들어가 인스턴스 시작을 누른다.

2- 이름을 지정하고 원하는 이미지를 선택한다.

(이글은 우분투 기준이다.)

3- 키 페어를 선택하거나 새 키 페어 생성을 클릭해 키 페어를 생성한다.

4- 필요에 따라 보안 옵션을 선택한다.

5- 용량 설정 까지 끝났으면 인스턴스 시작을 눌러 EC2를 생성한다.

2. 인바운드 규칙 설정

1- 해당 작업이 끝나면 네트워크 및 보안 탭에 들어가 보안 그룹을 선택한다.

2- 설정할 보안 그룹을 선택한 뒤 인바운드 규칙 편집을 누른다.

3- 규칙 추가를 누른다.

4- 유형을 MYSQL/Aurora를 선택하고 규칙 저장을 누른다.

2. EC2 접속(SSH)

- 터미널이나 Putty 등의 SSH 접속 프로그램을 켠다.

- SSH Key.pem 파일이 저장된 경로로 이동한다.(cd 명령어 등을 통해)

 

1) key.pem 파일 권한 수정

- chmod 400 SSHkey.pem

(윈도우에서 권한 문제가 생길 경우 WSL을 통해 접속하도록 한다. 윈도우 권한 문제시 아래와 같이 출력된다.)

2) EC2 접속

 - ssh -i "SSHKey.pem" ubuntu@퍼블릭 IPv4 DNS

 

3. Node.js 설치

1- 아래의 명령어를 하나씩 차례대로 수행한다.

- apt-get update

- apt-get install -y build-essential

- apt-get install curl

- curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash --

- apt-get install -y nodejs

(Node.js 버전을 변경할려면 18.x 대신 14.x등을 입력하면된다.)

 

Node.js 설치 후,npm insall 으로 패키지 설치시,에러를 방지하기 위해 

 

npm i -g node-pre-gyp 명령어를 입력하고 터미널을 껐다가 재접속하여 npm install을 다시 해준다.

 

4. MySQL 설치

1- 설치 : apt-get install -y mysql-server

2- 설치 버전 확인: mysql --version

 

5. MySQL설정

1- cd/etc/mysql/mysql.conf.d 로 이동한다.

2- sudo vi mysqld.cnf  를 입력해 파일을 수정한다.

3- 처음나온 bind_address 127.0.0.1가 적힌줄 맨앞에 #을 넣어 주석처리하고 다음 bind_address는 127.0.0.1 대신 0.0.0.0(any)로 변경한다.

6. MySQL계정 생성

1- sudo /usr/bin/mysql -u root -p를 입력해 mysql에 접속한다. 

2- 아래와 같이 입력해 유저를 만들어주고 해당 유저로 접속해 유저가 잘 만들어 졌는지 확인한다. 

mysql> create user '원하는 계정'@'%' identified by '원하는 비밀번호';

mysql> grant all privileges on *.* to '원하는 계정'@'%' with grant option;

sudo /usr/bin/mysql -u 원하는 계정 -p

 

7. MySQL재시작

1- 아래와 같이 입력해 mysql을 다시 시작한다.

sudo service mysql restart

sudo ufw allow out 3306/tcp

sudo ufw allow in 3306/tcp

sudo service mysql restart

8. MySQL workbench 설정

1- Hostname에 EC2의 퍼블릭 IPv4 주소를 적고 UserName에 설정한 계정을 넣어 연결을 한다.

ex- 만약 해당 방법으로 안될시 Connection Method를 아래와 같이 변경하고 SSH Key File에 키페어 파일을 넣어주고 

SSH Hostname에 주소를 입력하고 접속한다.