MySQL 데이터 베이스를 다른 머신으로 복사하기

여러분은 MyISAM 테이블용 .frm, .MYI, .MYD 파일을 동일한 부동 소수점 포맷을 지원하는 서로 다른 머신 사이에서 이동 시킬 수 있다. Section 14.1, “MyISAM 스토리지 엔진을 참조 할 것.

서로 다른 머신간에 데이터 베이스를 전달할 필요가 있을 경우에는, mysqldump를 사용해서 SQL명령문을 갖는 파일을 만든다. 그 다음에는 다른 머신에 전달하고 mysql 클라이언트의 입력 값으로 사용한다.

mysqldump --help옵션을 사용해서 사용 가능한 옵션을 알아 본다. 데이터를 새로운 버전의 MySQL로 전달한다면, mysqldump --opt 를 사용해서 최대한 최적화를 시켜서 덤프를 함으로서 크기를 작게 할 수 있다.

두 머신간의 데이터 이동(빠르지는 않더라도) 방법 중에 가장 간단한 것은 데이터 베이스가 있는 머신에서 아래의 명령어들을 실행하는 것이다:

shell> mysqladmin -h 'other_hostname' create db_name
shell> mysqldump --opt db_name | mysql -h 'other_hostname' db_name

속도가 느린 네트워크상에 있는 리모트 머신에서 데이터를 복사하고자 한다면, 다음의 명령어를 사용하면 된다:

shell> mysqladmin create db_name
shell> mysqldump -h 'other_hostname' --opt --compress db_name | mysql db_name

여러분은 파일안에 덤프로 저장하고, 타겟 머신에 파일을 전송하고, 그 다음에 그곳에 있는 데이터 베이스로 파일을 로드할 수도 있다. 예를 들면, 아래와 같이 소스 머신에서 데이터 베이스를 압축 파일로 덤프할 수 있다:

shell> mysqldump --quick db_name | gzip > db_name.gz

데이터 베이스를 갖고 있는 파일을 타겟 머신으로 전송한 다음에 아래의 명령어를 그곳에서 실행한다:

shell> mysqladmin create db_name
shell> gunzip < db_name.gz | mysql db_name

데이터 베이스를 전송하기 위해서 mysqldump mysqlimport 도 사용할 수 있다. 큰 테이블의 경우, 이것은 단순히 mysqldump를 사용하는 것보다 빠르다. 아래의 명령어에서 보면, DUMPDIR mysqldump 로부터 결과를 저장하기 위해 사용하는 디렉토리의 전체 경로 이름을 표시하는 것이다.

우선, 결과 파일을 위한 디렉토리를 만들고 데이터 베이스를 덤프한다:

shell> mkdir DUMPDIR
shell> mysqldump --tab=DUMPDIR db_name

그 다음에는 DUMPDIR 디렉토리에 있는 파일을 타겟 머신의 대응되는 디렉토리에 전송하고 그 곳에 잇는 MySQL안으로 로드를 한다:

shell> mysqladmin create db_name           # create database
shell> cat DUMPDIR/*.sql | mysql db_name   # create tables in database
shell> mysqlimport db_name DUMPDIR/*.txt   # load data into tables

mysql 데이터 베이스를 복사하는 것을 잊지 말아야 하는데, 거기에 그랜트 테이블이 저장되어 있기 때문이다. 여러분이 새로운 머신에 mysql 데이터 베이스를 갖기 전까지는 그 곳에서 root 사용자로서 명령어를 실행해야 할 것이다.

mysql 데이터 베이스를 새로운 머신으로 전송한 다음에는, mysqladmin flush-privileges를 실행해서 서버가 그랜트 테이블 정보를 다시 로드하도록 만든다.

2007/02/04 18:45 2007/02/04 18:45
Posted by 비온뒤하늘

트랙백 보낼 주소 : 이 글에는 트랙백을 보낼 수 없습니다

댓글을 달아주세요

<< PREV : [1] : ... [15] : [16] : [17] : [18] : [19] : [20] : [21] : [22] : [23] : ... [29] : NEXT >>

BLOG main image
마음을 열고 나의 생각을 넣고 나의 미래를 넣고 나의 하루를 넣는다. by 비온뒤하늘

공지사항

카테고리

전체 (29)
태중 세상 보기 (7)
apple (3)
내가 읽은 책들 (0)
리눅스 (9)
나의성공 (6)
태양광 (2)

최근에 받은 트랙백

태그목록

글 보관함

달력

«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
Total : 20496
Today : 19 Yesterday : 18