-
Mysql 백업 정리설치&설정 관련/MariaDB & Mysql 2022. 11. 1. 15:04728x90
mysql 백업
- MYSQL 설치 위치 : /database/mysql/bin
백업을 하기 위해서 비밀번호 없이 접근할 수 있는 설정을 생성해야 합니다.
# /database/mysql/bin 에서 실행 # mysql_config_editor set --login-path=설정이름 --host=주소 --user=아이디 --port=포트 --password $ mysql_config_editor set --login-path=myroot --host=localhost --user=root --password Enter password: ***** #설정을 사용하여 접속 $ mysql --login-path=myroot .. mysql>
설정이 완료 되면 backup.sh 파일을 생성 합니다.
# backup.sh 파일 #!/bin/bash BACKUP_DIR='/database/backup' BACKUP_DT=`date '+%Y%m%d%H%M%S'` BACKUP_FILE=${BACKUP_DT}_DAILY.sql cd $BACKUP_DIR echo "# Daily Backup Start." /database/mysql/bin/mysqldump --login-path=myroot --single-transaction --all-databases > ${BACKUP_DIR}/${BACKUP_FILE} echo "# Backup ${BACKUP_FILE}" tar cvzf ${BACKUP_DIR}/${BACKUP_FILE}.tar.gz ${BACKUP_FILE} rm ${BACKUP_DIR}/${BACKUP_FILE} echo "# Zip ${BACKUP_FILE}.tar.gz" echo "# REMOVE Over 3 Days File" find ${BACKUP_DIR} -name '*.tar.gz' -type f -mtime +3 -delete echo '# End'
위를 실행하면 전체 database를 백업 후 압축 하게 됩니다.
crontab에 매일 또는 2일에 한번씩 위의 파일이 실행되게 하면, 백업이 든든하게 됩니다!
추가 팁 복원
백업된 파일의 압축을 풀고 다음의 명령어를 통해서 복원 할 수 있습니다.
# /database/mysql/bin 에서 실행 $ mysql --login-path=myroot < /database/mysql/backup/압축된파일명.sql
이상으로 백업 및 복원을 마칩니다.!
참고자료
728x90'설치&설정 관련 > MariaDB & Mysql' 카테고리의 다른 글
mysql에서 emoji를 저장하기 위한 케릭터셋 설정 (0) 2022.12.23 DB 테이블에서 객체 필드 뽑아내기 (0) 2022.10.26 Mysql 설치시 설정 (0) 2022.10.10 MongoDB를 설치 (0) 2021.02.22 MongoDB backup & restore (0) 2019.05.26