MySQL 데이터베이스 백업 및 복원

[원격 to 로컬]

AWS EC2 DB 원격 접속하여 백업 후 로컬 서버 복원
1.백업

mysqldump --column-statistics=0 -h 8.8.8.8 -u test -p test > dev.sql

2.DB 생성

create database bak_test;

3.복원

mysql -h 127.0.0.1 -u root -p bak_test < dev.sql

[로컬 to 원격]

기존에 생성한 백업 파일을 기반으로 해당 작업을 수행했다. 로컬 환경과 동일하게 DB를 생성해준다.
1.DB 생성

creata database bak;

1.복원

mysql -h 8.8.8.8 -u test -p bak < dev.sql

MySQL 자동 백업 및 삭제

1.sudo mkdir /root/db_backup
2.sudo chmod 755 /root/db_backup
3.sudo vi /root/db_backup/backup.sh

#! /bin/bash
FILE_NAME=mysql_`date +"%Y%m%d%H%M"`
BACKUP_DIR=/root/db_backup/
mysqldump -utest -ptest123 test > $BACKUP_DIR$FILE_NAME.sql

# 14일동안 변경이 없는 파일 삭제
find $BACKUP_DIR -mtime +14 -exec rm -f {} \;

4.sudo chmod 100 /root/db_backup/backup.sh
5. sudo crontab -e

# 매일 0시 0분 backup.sh 파일 실행
0 0 * * * /root/db_backup/backup.sh

6.sudo systemctl restart crond.service

다양한 옵션

MySQL 전체 데이터베이스 백업

mysqldump -u root -p -P 3306 -A -> bak.sql

MySQL 프로시저, 함수, 트리거를 포함한 백업

mysqldump --routines --trigger -u test -p DB명 > bak.sql

https://m.blog.naver.com/sjy263942/222116898707
https://wildeveloperetrain.tistory.com/208
https://inpa.tistory.com/entry/LINUX-%F0%9F%93%9A-Date-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%99%84%EB%B2%BD-%EC%B4%9D%EC%A0%95%EB%A6%AC-%ED%8F%AC%EB%A7%B7#%ED%98%84%EC%9E%AC_%EB%82%A0%EC%A7%9C_%EC%B6%9C%EB%A0%A5

'Linux > DB' 카테고리의 다른 글

MariaDB Encoding 설정  (0) 2024.06.08