巨大でローカルに保存できない MySQL のダンプファイルを外部サーバーに SSH で保存する方法

さくらの VPS の20GBにぎっしり詰まった MySQL のファイル。サーバーを100GBの VPS に移転することになったのですが、phpMyAdmin でダウンロードしても、どれだけ設定を変更しても2GBまでしか取れない。それよりも、これだと心配なので mysqldump を使いたいと思ったところ、mysqldump をローカルに保存しなくても、そのまま外部のサーバーに保存する方法を見つけました。

mysqldump を外部サーバーに保存する

mysqldump を gzip で圧縮して SSH でそれを外部の VPS に転送します。変更点は [PASSWORD] と [DB_NAME] です。あと SSH の部分はご自分の転送したいサーバーに合わせて変更してください。ちなみに [PASSWORD] は無しでも構いませんが、MySQL のユーザーパスワードと SSH のユーザーのパスワードを同時に聞かれて混乱しますので気をつけましょう。

1
mysqldump -u root -p[PASSWORD] [DB_NAME] | gzip | ssh info@192.168.0.1 -p 10022 'cat > ~/dump.sql.gz'

転送された巨大なダンプファイルをインポートする

これで、圧縮して SSH で新しいサーバーにデータを直接転送されました。この巨大なファイルのインポートに 共用サーバーでも使える BigDump を使った方法などもあり、それでやっても良いのですが、ここはせっかく VPS を使っていますので、以下のようなコマンドで簡単にインポートしましょう。

1
mysql -u root [DB_NAME] -p < dump.sql

以下のサイトを参考にさせて頂きました。

コメント

コメントは受け付けていません。