티스토리 뷰
안녕하세요. 도미닉입니다.
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://fishpoint.tistory.com/1406
https://cloudjak.tistory.com/17
'IT > AWS' 카테고리의 다른 글
AWS 에서 Aurora(오로라) RDS DB time zone 시간을 변경하는 방법 (0) | 2020.12.04 |
---|---|
AWS 에서 Aurora(오로라) RDS DB 를 이중화하는 방법 (0) | 2020.12.04 |
AWS 에서 Aurora(오로라) RDS DB 를 생성하는 방법 (0) | 2020.11.27 |
- Total
- Today
- Yesterday
- C
- 함수
- 스위프트
- 매트랩
- 형용사
- 데이터베이스
- IOS
- 리눅스
- exercise
- 연습문제
- Apple
- 배열
- 뇌를 자극하는 C프로그래밍
- 반복문
- 애플
- 영어
- 프로그램
- 뇌를 자극하는 C 프로그래밍
- terascan
- Xcode
- MySQL
- Matlab
- 왕초보 영단어1
- 포인터
- 시원스쿨
- 테라스캔
- 프로그래밍
- Swift
- 단어
- database
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |