베 하 ~~ 안녕하세요 BTC_물콩입니다!!
다들 무더위 잘 보내고 계신가용
오늘도 흥미로운 주제를 가지고 왔습니다 !!
[시나리오]
1. MYSQL은 EC2 서버에 설치 되어있다. (총 2대)
2. A 서버의 DB 정보를 B 서버로 전송하고 싶다.
[진행과정]
1. EC2에 MYSQL 설치
2. MYSQL DB 정보 Export
3. SCP 명령어를 통해 A서버에서 B서버로 DB 파일 이동
4. B 서버에서 DB 파일 Import
1. EC2에 MYSQL 설치
1) yum Repository 등록
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
2) MYSQL 등록
sudo yum -y install mysql-community-server
mysql --version # Version 확인
3) MYSQL 시작
sudo systemctl start mysqld
4) MYSQL에 접속할 임시 비밀번호 발급
sudo grep 'temporary password' /var/log/mysqld.log
5) MYSQL 접속
mysql -u root -p
6) MYSQL 비밀번호 변경
ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'New passwd';
FLUSH PRIVILEGES ; # 적용
2. MYSQL DB Export
1) A 서버에 접속하여 DB를 Export 해줍니다
저는 test라는 DB 안에 employees라는 테이블 하나가 생성되어 있습니다 !
mysqldump -u{mysql 아이디} -p {DB 이름} > {경로}/{파일명}.sql
ex) mysqldump -uroot -p test > ./file_test.sql
해당 명령어를 사용할 때 패스워드를 CLI 창에 작성하는 것은 보안상 문제가 되기 때문에 지양하는 것을 권장드립니다!
제 DB가 file_test.sql이라는 파일로 생성된 모습을 확인할 수 있습니다 .
3. SCP 명령어를 통해 A 서버에서 B 서버로 file_test.sql 파일 전송
scp -i {ec2pem파일}.pem {파일명} {ec2 유저명}@{ec2 IP}:{경로}
ex) scp -i subeeeeeeeeeeen22.pem file_test.sql ec2-user@3.38.181.180:/home/ec2-user/
B서버에서 확인해보시면 해당 파일이 잘 전송되어 있는 것을 확인 할 수 있습니다.
4. B 서버에 DB Import
1) DB 생성
먼저 A서버의 DB 내용을 옮겨올 새로운 DB를 B 서버에 생성해줍니다.
create database test2
저는 test2라는 DB를 생성해두었습니다 !
2. DB Import
mysql -u{mysql ID} -p {위에서 생성한 DB명} < {경로}/{dump파일}
ex) mysql -uroot -p test2 < /home/ec2-user/file_test.sql
길었던 과정이 끝이났습니다 !
B서버에서 show tables;를 통해 확인해보면
생성했던 test2 유 안에 서버1에서 생성했던 employees Table이 잘 들어와 있는 것을 볼 수 있습니다 !!
유익한 시간이었길 바래용
그럼 베 빠 ~~
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
[AWS] AWS EKS Node Drain (0) | 2023.08.17 |
---|---|
[AWS] Secrets Manager을 통한 보안 인증 정보 설정 및 자동 교체 구성 (0) | 2023.08.16 |
[AWS] AWS Systems Manager를 이용한 SSM agent update (0) | 2023.08.11 |
EC2 서버 Down 시 원인 분석 (0) | 2023.08.07 |
Cloud-init (0) | 2023.08.07 |
댓글