2012-11-27 29 views
27

ssh接続を介してリモートホストからデータベースをダンプし、ローカルコンピュータにバックアップファイルを置くことは可能ですか?リモートホストからのmysqldump

これはどうすれば達成できますか?

私はsshからダンプへのパイプ出力のいくつかの組み合わせであると仮定していますが、その逆もありません。

その後、
+0

私はここで同様の答えに答えました:http://stackoverflow.com/questions/6564882/automate-mysqldump-to-local-computer-windows/13584425#13584425 –

答えて

55

これは圧縮し、@ MichelFeldheimの溶液から出発し、ローカルファイル

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

ssh -f [email protected] -L 3306:server.com:3306 -N

mysqldump -hlocalhost > backup.sql

あなたはまた、ローカルで実行しているMySQLを持っていないと仮定。あなたがしている場合は、ポートを別のものに調整することができます。

+0

例を提供することができます –

+1

私はこれを必要としますなぜなら、私はそこにパイプの組み合わせがあると思ったからです。 –

+0

これを単一のコマンドとしてなぜ必要とするのか説明できますか? –

10

へのssh経由でストリーミング、ダンプだろう、私が使用したい:

$ ssh [email protected] "mysqldump -u user -p database | gzip -c" | gunzip > db.sql 
0

私はそれを作るためにscriptを作成しましたMichel Feldheimによって提供される応答を開始点としてリモートホスト上のmysqldumpコマンドを自動化する方が簡単です。

mysqldump-remote

スクリプトは、必要に応じて、環境変数を含む.envファイルを使用してか、SSHせずに、リモートホストからのデータベース・ダンプを取得することができます。

自動データベースバックアップにこのスクリプトを使用する予定です。お気軽にcreate issues/contribute - これが他の人にも役立つことを願っています!

関連する問題