さくらの 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 |
以下のサイトを参考にさせて頂きました。
コメント