。공부 。

<MySQL> 데이터베이스 백업 및 복구

kyoe 2007. 10. 17. 18:12
데이터베이스는 1년 한번씩을 백업을 해둔다고 한다. 음.. 꼼꼼한사람이라면 더 자주 하겠지만 말이다.
MySQL 은 데이터베이스 백업과 복구 방법이 아주 간단하다

계정명 : kyoe
빽업할 DB : mydb
빽업받을 DB : mydb_temp
mydb안에 있는 테이블 : mydb_table

* MySQL DB 백업 *
- MySQL접속 하지 않은 상태에서 명령어를 치자.
mysqldump -u kyoe -p mydb > mydb.sql
- 위와같이 명령어를 치면 패스워드를 묻는다 그럼 해당 계정의 패스워드를 치면 백업이 된다.
백업파일이 저장되는 경로는 C:\Mysql\bin 폴더가 되고
apmsetup 으로 mysql을 설치 했다면 백업파일이 저장 되는 경로는 C:\Documents and Settings\'해당계정' 이다.
-계정안있는 모든 데이터베이스를 백업하려면 --all-databases 옵션을 이용하면된다.

* MySQL DB 복구 *
- 복구 역시 MySQL접속을 하지 않은 상태에서 해야한다.
mysql -u kyoe -p mydb_temp < mydb.sql
- 일반 Mysql으로 셋업을 했다면 백업할 파일은 C:\Mysql\bin 폴더에 저장이 되어있어야 한다.
- apmsetup으로 Mysql을 설치 했다면 bin폴더에 옮기지 않아도 된다. C:\Documents and Settings\'해당계정' 에 저장되어있는 채로 복구를 하면 된다.

* MySQL 테이블 백업 *
- 데이터 베이스 이름 뒤에 백업하고자 하는 테이블명을 적어주기만 하면 된다.
mysqldump -u kyoe -p mydb mydb_table > mydb_table.sql
- 테이블 구조만 백업
mysqldump -u kyoe -p --no-data mydb > mydb_table.sql
-  테이블 구조를 제외한 데이터만 백업
mysqldump -u kyoe -p --no-create-info mydb > mydb_table.sql

* MySQL 테이블 복구 *
mysql -u kyoe - mydb < mydb_table.sql