Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 데이터베이스를 다른 머신에 복사


다른 아키텍처 간에 데이터베이스를 전송해야 하는 경우 'mysqldump'를 사용하여 파일을 생성할 수 있습니다. 이 파일에는 SQL문이 포함됩니다. 파일 전송은 한 시스템에서 다른 시스템으로 수행할 수 있으며 이 파일은 'mysql' 클라이언트에 대한 입력으로 사용할 수 있습니다.

두 시스템 간에 데이터베이스 이동

두 시스템 간에 데이터베이스를 이동하는 한 가지 방법은 데이터베이스가 있는 시스템에서 명령을 실행하는 것입니다 -

mysqladmin −h 'other_hostname' create db_name
mysqldump db_name | mysql −h 'other_hostname' db_name

저속 네트워크를 통해 원격 시스템에서 데이터베이스 복사

느린 네트워크를 통해 원격 네트워크에서 데이터베이스를 복사해야 하는 경우 아래 명령을 실행할 수 있습니다. -

mysqladmin create db_name
mysqldump −h 'other_hostname' −−compress db_name | mysql db_name

MySQL 덤프

덤프는 파일에 저장할 수 있으며 나중에 대상 시스템으로 전송할 수 있습니다. 다음 단계는 파일을 데이터베이스에 로드하는 것입니다. 데이터베이스를 소스 시스템의 압축 파일로 덤프해야 하는 경우를 예로 들어 보겠습니다. 그것은 아래에 표시되었습니다 -

mysqldump −−quick db_name | gzip > db_name.gz

데이터베이스 내용이 포함된 파일은 대상 시스템에서 소스 시스템으로 전송해야 합니다. 아래 명령을 실행해야 합니다 -

mysqladmin create db_name
gunzip < db_name.gz | mysql db_name

이 외에도 'mysqldump'와 'mysqlimport'를 이용하여 데이터베이스 내용을 전송할 수도 있습니다. 많은 양의 데이터가 포함된 데이터베이스의 경우 'mysqldump'와 'mysqlimport'를 함께 사용하여 작업 속도를 높일 수 있습니다. 'DUMPDIR'은 'mysqldump'의 출력이 저장된 디렉토리의 전체 경로 이름을 나타냅니다.

먼저 출력 파일과 데이터베이스 내용을 덤프할 수 있도록 디렉터리를 만듭니다. 이것은 아래 명령을 사용하여 수행할 수 있습니다 -

mkdir DUMPDIR
mysqldump −−tab=DUMPDIR
db_name

그런 다음 파일을 DUMPDIR 디렉터리에서 대상 시스템의 해당 디렉터리로 전송할 수 있습니다. 다음 단계는 파일을 MySQL에 로드하는 것입니다. 이것은 아래 명령을 사용하여 수행할 수 있습니다 -

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