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

MySQL강좌33편: 데이터는 백업하지않고 테이블 스키마만 백업하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

MySQL강좌33: 데이터는 백업하지않고 테이블 스키마만 백업하기

 

바로 앞의 mysqldump에서 테이블구조를 생성하는 “CREATE TABLE”문을 백업결과에서 제외하는 방법을 보았다.  이번에는 이와 반대로 데이터값(레코드값)을 제외한 데이터베이스 스키마(테이블구조)만을 백업하는 예이다.

 

mysqldump명령어로 백업할 때에 -d옵션을 사용하면 백업대상 데이터베이스의 스키마(테이블구조)만을 백업 결과파일에 저장해준다. 즉 데이터값(레코드값)을 생성하는 SQL문은 결과파일에 저장되지 않는다는 의미이다. 사용하는 형식은 다음과 같다.

 

 

사용형식 : mysqldump -u DB사용자명 -p -d  DB > 파일명

 

위의 형식에서 -d옵션 대신에 --no-data를 사용할 수도 있다.

 

아래의 예는 temp_db2라는 데이터베이스의 스키마만을 백업하기 위하여 -d옵션을 사용하여 데이터값(레코드값)에 대한 결과는 백업결과에서 제외한 것이다. 결과파일은 temp_db2.sql파일에 저장되었다.

 

[root@sulinux bin]# pwd

/usr/local/mysql/bin

[root@sulinux bin]#

[root@sulinux bin]# ./mysqldump -u root -p -d temp_db2 > temp_db2.sql

Enter password: ********

[root@sulinux bin]#
[root@sulinux bin]# ls -l temp_db2.sql

-rw-r--r--    1 root     root         1422  2 14 16:29 temp_db2.sql

[root@sulinux bin]#

 

아래는 백업결과로 생성된 temp_db2.sql파일의 내용을 살펴본 것이다. temp_db2.sql파일을 보면 temp_db2데이터베이스의 스키마(데이터베이스 구조, 테이블구조)만 저장되어있다는 것을 확인할 수 있다.

 

[root@sulinux 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,156 명
  • 현재 강좌수 :  36,513 개
  • 현재 접속자 :  224 명