ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Mysql 백업 정리
    설치&설정 관련/MariaDB & Mysql 2022. 11. 1. 15:04
    728x90

    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
Designed by Tistory.