case Computer :

Mysql : Backup in Windows

거곰 2010. 2. 1. 17:28

* 특정 DB 백업
mysqldump -u root -p암호 DB명 >저장위치

mysql 이 설치된곳에 보면 mysqldump라는 프로그램이 있다.
이 프로그램을 이용하여 backup 과 restore를 할 수 있다.


내 서버에 간단하게 배치파일을 이용해서 mysql db를 backup를 받게 해 놓았다.

sql_backup.bat 내용

:loop
c:\mysql\bin\mysqldump -u root -password DBName > c:\SQL_BACKUP\backup_%date%.sql


이 배치 파일을 예약작업에 매일 12시에 실행되게 하면 하루에 한번 백업을 받게 할 수 있다.

복구 방법은 백업에 반대이다.
">" 을 "<" 으로 바꾸면 된다.
그리고 password에는 실제 root에 패스워드를 입력해야한다.



추가 내용

* 모든 DB 백업하기

mysqldump -u root -p암호 --all-databases >c:/data.sql


* 백업시 한글이 깨지는 경우(character set)

mysqldump -u root -p암호 --set-charset --default-character-set=euckr --all-databases > c:/data.sql


* 백업시 한글이 깨져있는 경우 복구 방법

mysqldump -u root -p암호 --default-character-set=euckr  < c:/data.sql


* 백업시 각 행마다 독립된 입력문으로 받기(character set)

5.0 이상에서는 백업 받을 경우에는
inser into 'db명' values ('kim','mysql'),('lee','mysql'),(.........
이런식으로 저장된다.
이것을 아래와 같이 받는 옵션
inser into 'db명' values ('kim','mysql');
inser into 'db명' values ('lee','mysql');

mysqldump -u root -p암호 --skip-extended-insert --all-databases > c:/data.sql

반응형