본문 바로가기

개발/Database

원격서버의 MYSQL데이테베이스 백업하기

### 원격서버의 MYSQL데이테베이스 백업하기

 

1) 원격서버의 MYSQL데이테베이스 백업하기 (기본포트 사용)

지금까지의 mysqldump로 백업하는 예들은 모두 현재 사용중인 로컬서버 내에서 MYSQL데이터를 백업하는 것이였다. 하지만 원격지 서버의 MYSQL 데이터를 백업하는 방법이 있다.  즉, mysqldump명령어로 백업할 때에 -h옵션 다음에 백업대상이 되는 원격서버의 IP주소나 호스트명 또는 도메인명을 입력하여 원격지 서버의 MYSQL데이터를 백업할 수 있다.  사용형식은 아래와 같다.

 

사용형식 : mysqldump -u 사용자명 -p -h 호스트명(IP주소) DB명 > 파일명

 

아래의 예는 192.168.0.111서버에 존재하는 MYSQL서버의 sspark이라는 데이터베이스를 현재 로컬서버의  sspark1.sql파일에 저장하는 예이다.

[root@file bin]# pwd

/usr/local/mysql/bin

[root@file bin]#

[root@file bin]# ./mysqldump -u root -p -h 192.168.0.111 sspark > sspark1.sql

Enter password: ********

[root@file bin]#

[root@file bin]# ls -l sspark1.sql

-rw-r--r--    1 root     root         6028  2월 14 15:43 sspark1.sql

[root@file bin]# 

 

이렇게 백업을 하기 위해서는 원격지 서버에 접속허용 설정이 되어 있어야한다. 참고로 원격지에서 MYSQL 접속허용을 하려면 MYSQL의 관리데이터베이스인 mysql데이터베이스의 db테이블과 user테이블의 host필드값을 ‘%’ 또는 접속을 허용할 IP주소등을 설정함으로서 원격서버의 접속을 허용할 수 있다.

 

2) 원격서버의 MYSQL데이테베이스 백업하기 (특정포트번호 지정)

이번에는 원격서버의 MYSQL데이터를 백업하면서 원격서버의 MYSQL이 사용하는 포트번호를 지정하여 백업하는 방법이다. 가끔씩 MYSQL 자체보안을 위하여 사용하는 MYSQL이 사용하는 기본포트 3306번 대신에 다른 포트번호를 사용하는 경우가 있다. 이렇게 원격서버의 MYSQL 데이터베이스가 3306이 아닌 다른 포트번호로 서비스를 하고 있다면 지금까지의 방법으로는 원격백업을 할 수 없다. 즉, 원격서버의 MYSQL이 기본포트(3306)가 아닌 다른 포트번호를 사용한다면 포트번호를 별도로 지정하여 주어야만 원격백업을 할 수 있다. 즉, mysqldump명령어로 원격서버의 MYSQL데이터를 백업할 때에 -P(대문자 P)다음에 원격서버의 MYSQL이 사용하는 포트번호를 지정해 주어야만 정확히 원격백업이 가능하다. 사용하는 형식은 다음과 같다.

 

사용형식 : mysqldump -u 사용자명 -p -h 호스트명(IP주소) -P 포트번호 DB명 > 파일명

 

아래의 예는 원격서버인 192.168.0.111서버의 MYSQL의 sspark이라는 데이터베이스를 백업하여 sspark2.sql에 저장하는 예이다. 이때 192.168.0.111서버의 MYSQL이 사용하고 있는 포트가 22222번이므로 -P옵션에서 이를 지정하여 백업한 것이다.

[root@file bin]# pwd

/usr/local/mysql/bin

[root@file bin]#

[root@file bin]# ./mysqldump -u root -p -h 192.168.0.111 -P 22222 sspark > sspark2.sql

Enter password: ********

[root@file bin]#

[root@file bin]# ls -l sspark2.sql

-rw-r--r--    1 root     root         6028  2월 14 15:43 sspark2.sql

[root@file bin]# 


출처 http://blog.naver.com/yswon72/56481577