mysqldump로 백업시에 데이터는 백업하지않고 테이블 스키마만 백업하기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,838 조회
- 0 추천
- 목록
본문
mysqldump로 백업시에 데이터는 백업하지않고 테이블 스키마만 백업하기
바로 앞의 mysqldump에서 테이블구조를 생성하는 “CREATE TABLE”문을 백업결과에서 제외하는 방법을 보았습니다.
이번에는 이와 반대로 데이터값(레코드값)을 제외한 데이터베이스 스키마(테이블구조)만을 백업하는 예입니다.
즉, mysqldump명령어로 백업을 할 때에 -d옵션을 사용하시면 백업대상 데이터베이스의 스키마(테이블구조)만을 백업 결과파일에 저장해 줍니다.
즉 데이터값(레코드값)을 생성하는 SQL문은 결과파일에 저장되지 않는다는 의미입니다.
사용하는 형식은 다음과 같습니다.
사용형식 : mysqldump -u DB사용자명 -p -d DB명 > 파일명
위의 형식에서 -d옵션 대신에 --no-data를 사용할 수도 있습니다.
아래의 예는 temp_db2라는 데이터베이스의 스키마만을 백업하기 위하여 -d옵션을 사용하여 데이터값(레코드값)에 대한 결과는 백업결과에서 제외한 것입니다.
결과파일은 temp_db2.sql파일에 저장이 되었습니다.
[root@file bin]# pwd /usr/local/mysql/bin [root@file bin]# [root@file bin]# ./mysqldump -u root -p -d temp_db2 > temp_db2.sql
Enter password: ******** [root@file
bin]# -rw-r--r-- 1 root root 1422 2월 14 16:29 temp_db2.sql [root@file bin]# |
아래는 백업결과로 생성된 temp_db2.sql파일의 내용을 살펴본 것입니다.
즉, temp_db2.sql파일을 보시면 temp_db2데이터베이스의 스키마(데이터베이스 구조, 테이블구조)만 저장되어 있다는 것을 확인할 수 있습니다.
[root@file bin]# cat temp_db2.sql
-- MySQL dump 9.08 -- -- Host: localhost Database: temp_db2 --------------------------------------------------------- -- Server version 4.0.14
-- -- Table structure for table 'Demo_Domain' --
CREATE TABLE Demo_Domain ( d_id smallint(7) unsigned NOT NULL auto_increment, d_name varchar(255) default NULL, d_type varchar(10) default NULL, d_sday varchar(20) default NULL, d_eday varchar(20) default NULL, d_email varchar(255) default NULL, d_register varchar(60) default NULL, hosting char(1) default NULL, h_name varchar(255) default NULL, h_homepage varchar(255) default NULL, h_price varchar(20) default NULL, h_sday varchar(20) default NULL, h_eday varchar(20) default NULL, h_memo text, PRIMARY KEY (d_id) ) TYPE=MyISAM;
-- -- Table structure for table 'Demo_DomainAdmin' --
CREATE TABLE Demo_DomainAdmin ( admin_id varchar(12) NOT NULL default '', admin_pass varchar(40) default NULL, PRIMARY KEY (admin_id) ) TYPE=MyISAM;
-- -- Table structure for table 'Demo_DomainDrop' --
CREATE TABLE Demo_DomainDrop ( drop_id smallint(7) unsigned NOT NULL auto_increment, drop_name varchar(255) default NULL, drop_day varchar(20) default NULL, PRIMARY KEY (drop_id) ) TYPE=MyISAM; |
이런 백업방법은 데이터베이스의 스카마만을 백업하기 위한 표준방법으로 많이 사용되고 있습니다.
관련자료
-
이전
-
다음