Programming

로컬 컴퓨터에서 원격 DB를 mysqldump하는 방법

procodes 2020. 6. 7. 17:35
반응형

로컬 컴퓨터에서 원격 DB를 mysqldump하는 방법


원격 서버에서 데이터베이스의 mysqldump를 수행해야하지만 서버에 mysqldump가 설치되어 있지 않습니다. 내 컴퓨터에서 mysqldump를 사용하여 원격 데이터베이스에 연결하고 내 컴퓨터에서 덤프를 수행하고 싶습니다.

ssh 터널을 만든 다음 덤프를 시도했지만 작동하지 않는 것 같습니다. 나는 시도했다 :

ssh -f -L3310:remote.server:3306 user@remote.server -N

터널은 성공적으로 만들어집니다. 만약 내가한다면

telnet localhost 3310

올바른 서버 mysql 버전을 보여주는 일부 흐림 효과가 나타납니다. 그러나 다음을 수행하면 로컬로 연결하려고합니다.

mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name

아직 serverfault에서 보지 못했지만 대답은 매우 간단합니다.

변화:

ssh -f -L3310:remote.server:3306 user@remote.server -N

에:

ssh -f -L3310:localhost:3306 user@remote.server -N

그리고 변경 :

mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name

에:

mysqldump -P 3310 -h 127.0.0.1 -u mysql_user -p database_name table_name

(로컬 호스트를 사용하지 마십시오. 포트가 아닌 소켓으로 연결되는 '특별한 의미'의 의미가 없습니다.)

편집 : 정교하게 : 호스트가로 설정 localhost되면 구성된 (또는 기본) --socket옵션이 가정됩니다. 옵션 파일을 찾고 사용 하는 설명서참조하십시오 . Windows에서는 이름이 지정된 파이프 일 수 있습니다.


원격 서버에 대해 로컬로 mysqldump를 호출 할 수 있습니다.

나를 위해 일한 예 :

mysqldump -h hostname-of-the-server -u mysql_user -p database_name > file.sql

연결 옵션에 대한 mysqldump 설명서따랐습니다 .

참고 URL : https://stackoverflow.com/questions/2989724/how-to-mysqldump-remote-db-from-local-machine

반응형