Mysql

Mysql 백업 mysqldump 사용

먹세 2017. 6. 20. 17:58

1. 백업


mysqldump -u사용자 -p DB명 > DB백업파일명.sql


모든DB백업

mysqldump -u사용자 -p -A > DB백업파일명.sql


특정 테이블만 백업

mysqldump -u사용자 -p DB명 TABLE명 > DB백업파일명.sql


* -A 옵션 사용시 Warning 메시지 뜰때,

--events --ignore-table=mysql.event 옵션을 넣어주면 된다.


mysqldump -u사용자 -p -A --events --ignore-table=mysql.event > /backup/db_backup.sql


옵션


-A, --all-databases : 모든 DB를 한번에 덤프


--add-locks : 덤프 전에 lock, 덤프 후에 unlock

>lock기능은 백업 도중에 데이터에 변화가 생긴다거나(insert) 하는 경우를 방지하기위해 lock을 걸고 덤프하고 완료 후에 언락 한다.


--add-drop-table : 백업된 데이터 안에 drop table 명령을 추가한다.

>복구시 테이블이 이미 만들어져있더라도 drop table로 제거 후 테이블을 생성



2. 복구 (복구시에는 mysqldump가 아니고 mysql로 해야함)


mysql -u사용자 -p < DB백업파일명.sql


또는


mysql -u사용자 -p DB명 < DB백업파일명.sql



3. crontab 으로 자동백업 실행하기


3-1. 쉘스크립트 작성

vi /root/mysqlbackup.sh 등으로 적당한 쉘스크립트를 작성한다.

#!/bin/bash

/usr/local/mysql/bin/mysqldump -u root -p비번 -A --events --ignore-table=mysql.event > /backup/sql_backup/db_back_$(date +%Y%m%d).sql

find /backup/sql_backup -ctime +3 -exec rm -f {} \; 


마지막 줄은 sql_backup 폴더에 있는 파일중에 3일이 지난 파일을 삭제하라는 명령


3-2. crontab 작성

#crontab -e 

00 03 * * * /root/mysqlbackup.sh

매일 새벽 3시에 스크립트를 실행하라는 명령


#service crond restart







반응형

'Mysql' 카테고리의 다른 글

select 한 내용을 다른 table에 insert 하는 방법  (0) 2019.10.30
MySQL Workbench 로 DB 업데이트 하기  (0) 2018.07.17
mysql table 초기화  (0) 2015.07.14
Mysql 권한, 원격접속 설정방법  (0) 2013.04.30
UNION 사용법  (0) 2013.04.04