40

ssh 接続を介してリモート ホストからデータベースをダンプし、ローカル コンピューターにバックアップ ファイルを保存することはできますか?

もしそうなら、どうすればこれを達成できますか?

私は、sshからダンプへのパイプ出力、またはその逆のパイプ出力の組み合わせになると想定していますが、それを理解することはできません。

4

4 に答える 4

70

これにより、sshを介してローカルファイルにダンプ、圧縮、およびストリーミングされます

ssh -l user remoteserver "mysqldump -mysqldumpoptions database | gzip -3 -c" > /localpath/localfile.sql.gz 
于 2012-11-27T23:26:29.920 に答える
3

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

それから:

mysqldump -hlocalhost > backup.sql

また、mysql をローカルで実行していないと仮定します。その場合、ポートを別のものに調整できます。

于 2012-11-27T23:14:45.160 に答える
2

出発点としてMichel Feldheimから提供された回答を使用して、リモート ホストでのコマンドの自動化を容易にするスクリプトを作成しました。mysqldump

mysqldump-リモート

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

このスクリプトを自動データベース バックアップに使用する予定です。気軽に問題を作成したり、貢献したりしてください。これが他の人にも役立つことを願っています!

于 2017-11-16T20:58:06.227 に答える