programing

원격 호스트의 mysqdump

itmemos 2023. 8. 30. 21:17
반응형

원격 호스트의 mysqdump

SSH 연결을 통해 원격 호스트에서 데이터베이스를 덤프하고 로컬 컴퓨터에 백업 파일을 저장할 수 있습니까?

그렇다면 어떻게 이를 달성할 수 있습니까?

나는 그것이 ssh에서 덤프로 가는 배관 출력의 어떤 조합일 것이라고 생각하지만 그것을 알아낼 수 없습니다.

이렇게 하면 SSH를 통해 로컬 파일로 덤프, 압축 및 스트리밍할 수 있습니다.

ssh -l user remoteserver "mysqldump -mysqldumpoptions database | gzip -3 -c" > /localpath/localfile.sql.gz 

@Michel Feldheim의 솔루션을 시작으로, 저는 다음을 사용합니다.

$ ssh user@host "mysqldump -u user -p database | gzip -c" | gunzip > db.sql

ssh -f user@server.com -L 3306:server.com:3306 -N

그러면:

mysqldump -hlocalhost > backup.sql

로컬에서 mysql을 실행하지 않는다고 가정합니다.그러면 포트를 다른 포트로 조정할 수 있습니다.

더 쉽게 자동화할 수 있도록 스크립트를 만들었습니다.mysqldumpMichel Feldheim에서 제공한 응답을 시작점으로 사용하여 원격 호스트에서 명령:

mysqdump-remote

이 스크립트를 사용하면 원격 호스트에서 데이터베이스 덤프를 가져올 수 있습니다.SSH선택적으로 사용할 수 있습니다..env파일에 환경 변수가 들어 있습니다.

자동 데이터베이스 백업에 스크립트를 사용할 계획입니다.자유롭게 이슈를 만들고 기여하세요 - 이것이 다른 사람들에게도 도움이 되기를 바랍니다!

언급URL : https://stackoverflow.com/questions/13594895/mysqldump-from-remote-host

반응형