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

한 MySQL 서버에서 다른 MySQL 서버로 테이블이나 데이터베이스를 복사하는 방법은 무엇입니까?


한 MySQL 서버에서 다른 서버로 테이블이나 데이터베이스를 복사하려면 mysqldump를 사용하세요. 데이터베이스 이름과 테이블 이름으로.

소스 호스트에서 다음 명령을 실행합니다. 이렇게 하면 전체 데이터베이스가 dump.txt에 덤프됩니다. 파일.

$ mysqldump -u root -p database_name table_name > dump.txt
password *****

위에서 설명한 대로 특정 테이블 이름을 사용하지 않고 전체 데이터베이스를 복사할 수 있습니다.

이제 다른 호스트에 ftp dump.txt 파일을 만들고 다음 명령을 사용합니다. 이 명령을 실행하기 전에 대상 서버에 database_name을 생성했는지 확인하십시오.

$ mysql -u root -p database_name < dump.txt
password *****

중개 파일을 사용하지 않고 이를 수행하는 또 다른 방법은 MySQL 덤프의 출력을 네트워크를 통해 원격 MySQL 서버로 직접 보내는 것입니다. 소스 데이터베이스가 있는 호스트에서 두 서버에 모두 연결할 수 있으면 다음 명령을 사용합니다(두 서버에 모두 액세스할 수 있는지 확인).

$ mysqldump -u root -p database_name \
| mysql -h other-host.com database_name

mysqldump에서 명령의 절반은 로컬 서버에 연결하고 덤프 출력을 파이프에 씁니다. 명령의 나머지 절반은 other-host.com의 원격 MySQL 서버에 연결합니다. 입력용 파이프를 읽고 각 명령문을 other-host.com 서버로 보냅니다.