mysql -uroot -p DB < /BACKUP/DB_201412041719.sql
파일의 형태로 백업이 됩니다.
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' 형태로 생성됨.)
[출처] MySQL 백업 및 복원|작성자 콩이아부지
'IT노트 > MYSQL' 카테고리의 다른 글
계층쿼리 (0) | 2015.03.19 |
---|---|
mysql 최근 5일 내 완료된 건 수구하기 (0) | 2015.03.18 |
Unblock with 'mysqladmin flush-hosts' 에러시 (0) | 2015.03.17 |
Mysql 로 oracle connect by 기능. 계층쿼리 (0) | 2015.03.16 |
Mysql Character Set 변경 관련 (0) | 2015.03.14 |