티스토리 뷰

반응형

안녕하세요. 도미닉입니다.

AWS 에 데이터베이스 서버 (MySQL5.7)을 셋팅하는 방법을 공유하고자 합니다.

재미있게 봐주시고 도움이 됬다면 왼쪽에 하트 버튼도 눌러주세요.

1. AWS 에 가입해서 로그인

각자 가입할 수 있다고 생각한다.

2. 콘솔에 접속해 인스턴스 생성

AWS 메인 페이지 상단 오른쪽에 콘솔에 로그인 버튼을 클릭해 콘솔 페이지로 이동한다.

전체 서비스 - 컴퓨팅 - EC2 를 선택한다.

왼쪽 메뉴에서 인스턴스 - 인스턴스 를 클릭한다.

상단에 파란색 인스턴스 시작 버튼을 클릭한다.

가장 상단에 Amazon Linux 를 선택한다.

원하는 사양을 선택 후 검토, 다음을 누르면 위와 같이 키 페어를 선택하는 페이지가 뜬다.

서버에 접속하기 위해 필요한 파일로 중요한 파일이다.

기존에 만든 적이 없다거나 뭔지 잘 모르겠다면 "새 키 페어 생성" 을 선택한 후 원하는 키 페어 이름을 작성하고 키 페어 다운로드 버튼을 클릭해서 키 페어 파일을 다운로드 받는다.

키 페어 파일을 다운로드 받으면 인스턴스 시작 버튼을 누를 수 있게 되며 인스턴스 시작을 눌러 인스턴스 생성을 완료한다.

터미널로 인스턴스에 접속
ssh -i <인증서이름 경로, 이름>.pem ec2-user@<서버IP>

로 접속해주면 된다.

맥의 경우 다운로드 받은 인증서는 Downloads 폴더에 가면 있다.

터미널을 연 뒤에 Downloads 폴더로 이동하고 위에 명령어로 접속하면 접속이 된다.

3. MySQL 5.7 설치

sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

sudo yum -y install mysql-community-server

위에 두 명령어를 차례로 복사 붙여넣기 해서 실행하면 MySQL 이 설치된다.

sudo systemctl start mysqld

이 명령어를 이용해서 mysql 데몬을 실행한다.

sudo systemctl enable mysqld

이 명령어를 이용해서 재부팅시 mysqld 가 자동으로 시작되도록 설정한다.

sudo netstat -plntu

를 사용해서 현재 3306 포트로 가 열려있는지 확인한다.

만약 3306 이 안보인다면 AWS 보안그룹에 3306번 포트를 열고

sudo systemctl restart mysqld

명령어로 mysqld 를 재실행한다.

4. MySQL 루트 패스워드 설정

sudo grep 'temporary' /var/log/mysqld.log

명령어를 실행하면 기본 설정된 패스워드가 보여진다.

나의 경우 rd?hY2)STqaW 였다.

이 부분을 복사한다.

mysql -u root -p

명령어로 mysql 에 접속하며 패스워드는 위에서 복사한 기본 패스워드를 붙여넣기해서 로그인에 성공했다.

ALTER USER 'root'@'localhost' IDENTIFIED BY '신규암호';

명령어로 패스워드를 변경할 수 있다.

flush privileges;

반영하는 명령어이다.

위 두 명령어는 mysql 에 접속한 상태에서 실행해야 한다.

5. MySQL 백업 및 복구

기존 DB 가 있는 서버에서 아래 명령어를 실행해 DB 를 백업한다.

mysqldump --routines -uroot -p"디비패스워드" "백업할DB" > "파일명".sql

"한글" 은 적절히 영문으로 변경해서 넣으면 된다.

ex)

mysqldump --routines -uroot -pabc123 real > real20201020.sql

그 뒤에 생성된 real20201020.sql 을 FTP 등을 이용해서 새로 복구할 서버로 옮긴다.

새로 생성한 DB 서버에서 데이터베이스를 만들어주어야한다.

아까처럼 mysql -u root -p 명령어를 이용해서 mysql에 접속한 뒤에 아래 명령어로 데이터베이스를 만든다.

CREATE DATABASE <백업한 데이터베이스명>

그 뒤에 exit 로 빠져나가서 아래 명령어를 실행한다.

mysql -u유저이름 -p패스워드 DB명 < 백업파일명

6. 외부 IP 접속 허용

MySQL Workbench 등으로 접속해서 관리하거나 다른 소스에서 MySQL 에 접근해야 한다면 외부 IP 접속을 허용해야한다.

grant all privileges on . to root@'%' IDENTIFIED BY 'root 비밀번호';

flush privileges;

이 명령어를 mysql 에서 하면 허용이 된다.

참고

https://blog.eomsh.com/25

https://fishpoint.tistory.com/1406

https://cloudjak.tistory.com/17

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함