MySQL에서 데이터를 백업하고 복원(복구) 하는 방법
MySQL이 설치된 폴더의 'BIN' 로 이동하세요.
파일의 형태로 백업이 됩니다.
1. 백업
MySQLDump -u사용자 -p암호 DB이름 > DB백업.sql
ex) mysqldump -uroot -p1234 test_db > test_db.sql -- ('test_db' 전체 내용을 백업)
2. 테이블 백업
MySQLDump -u사용자 -p암호 DB이름 TB이름 > TB백업.sql
ex) mysqldump -uroot -p1234 test_db test_table > test_table.sql -- ('test_db' 의 'test_table' 내용을 백업)
3. 데이터 백업
MySQLDump -u사용자 -p암호 DB이름 TB이름 -w "조건" > 데이터백업.sql
ex) mysqldump -uroot -p1234 test_db test_table -w "name='홍길동' > test_table.sql
-- ('test_db' 의 'test_table' 에서 'name' 이 홍길동인 데이터만 백업)
4. 복원 (데이터 등록)
MySQL -u사용자 -p암호 DB이름 < DB백업.sql -- DB가 존재 하지 않는 경우 미리 생성 후 진행 하여야 함.
MySQL -u사용자 -p암호 DB이름 TB이름 < TB백업.sql
MySQL -u사용자 -p암호 DB이름 TB이름 < 데이터백업.sql
주의) 복원 명령 시 기존의 테이블은 제거 된 후 재생성 하여 복원 됩니다. (기존 데이터는 삭제됨)
TIP) 파일명 자동 생성 명령을 위한 명령문
ex) mysqldump -uroot -p1234 test_db > test_db_%date%.sql -- ('test_db_2013-04-02.sql' 형태로 생성됨.)
아래와 같이 "backup.bat" batch 파일을 만들면 내가 원하는 형태의 날짜및시간을 표현 할 수 있다.
----------------------------------------------------------------------------------
@echo off
SET now=%date:~0,4% -- 2013-04-02 (0번째 부터 4개)
SET now=%now%%date:~5,2% -- 2013-04-02 (5번째 부터 2개)
SET now=%now%%date:~8,2% -- 2013-04-02
SET now=%now%_%time:~0,2% -- 14:10:10.10
SET now=%now%%time:~3,2% -- 14:10:10.10
SET now=%now%%time:~6,2% -- 14:10:10.10
mysqldump -uroot -p1234 %1 > %1_%now%.sql -- %1 : 배치 파일 실행 시 포함 한 DB명
-----------------------------------------------------------------------------------
backup.bat test_db < 샐행 -- ('test_db_20130402_141010.sql' 형태로 생성됨.)
'Etc > 보관함' 카테고리의 다른 글
[MySQL] SQL Developer 설치하기 (0) | 2014.02.06 |
---|---|
[MySQL] mysql community 설치하기 (윈도우용) (0) | 2014.02.06 |
[MySQL] mysql 기초 명령어 (0) | 2014.02.05 |
[MySQL] mysql 설치, 인스톨, 셋팅 (0) | 2014.02.05 |
[Linux] 메일 서버 sendmail 설정 방법 (0) | 2014.02.04 |