강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

mysqldump로 백업시에 데이터는 백업하지않고 테이블 스키마만 백업하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

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]#
[root@file bin]# ls -l temp_db2.sql

-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;

 

이런 백업방법은 데이터베이스의 스카마만을 백업하기 위한 표준방법으로 많이 사용되고 있습니다.   

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,034 명
  • 현재 강좌수 :  35,791 개
  • 현재 접속자 :  225 명