2012-12-28 3 views
0

필자는 원격 서버를 몇 대 사용하여 ssh 터널 (-l 3306 : localhost : 3306)을 통해 MySQL 호출을 전달하는 지연에 질려 버렸습니다. 따라서 원격을 빠르고 쉽게 복제 할 수있는 방법을 찾고 싶었습니다 (live) database 나의 local dev machine 그러나 대부분의 온라인 리소스는 하나의 SSH 가능 서버에서 다른 서버로, 내가 원한 것이 아니라 원격 데이터베이스를 연결하는 머신에 복제했다.원격 개발 컴퓨터에 원격 mysql 데이터베이스를 복제하는 방법은 무엇입니까?

로컬 MySQL의 포트에 앞으로 원격 포트와 dev에 기계에서

답변

2

연결, 기본 서버에서 다음

ssh server.address.com -R 3307:localhost:3306 

3306, 거기에서, 당신은 기본적으로 하나 원격 서버의 데이터베이스에 로그인 할 수 있습니다

mysql 

명령. 또는 거기에서,이 후 위의 SSH 터널에서 해당 지역의 3306 포트에 원격 서버에서 3307 포트를 터널, 당신의 지역 dev에 데이터베이스에

mysql --host=127.0.0.1 --port=3307 

를 로그인합니다.

이 때문에 mysqldump 명령을 로컬 mysql 데이터베이스에 직접 실행할 수 있습니다.

mysqldump --all-databases | mysql --host=127.0.0.1 --port=3307 

첫 번째 부분은 단단한로 할 수있는 모든 데이터베이스를 덤프,하지만 당신은 직접 명령의 두 번째 절반 로컬 데이터베이스에 그 배관하고 있습니다.

는 ** 참고로 나는 또한,하지만 실제 작동을 위해, 내가 직접

ssh server.address.com -R 3307:localhost:3306 'mysqldump --all-databases -uroot | mysql --host=127.0.0.1 --port=3307 -uroot' 
를 사용할 수있는 최선의 각 비트를 설명하는 동안 그들이 할 수있는만큼 간단 모든 명령을 유지하기 위해 모든 로그인 정보를 떠 났어요

명령

저에게있어서 이것은 실제 데이터베이스를 로컬에서 복제하여 개발할 수있는 가장 쉽고 빠르며 최상의 방법입니다.

관련 문제