mysqlサーバで利用しているサーバの容量が減ってきたので別サーバに移行することに。
しかし、旧サーバの空き容量がないのでmysqldumpで出力することができない。
限界まで削除して1テーブルごとに出力するか。
すごく非効率。
そこで直接ダンプファイルを新サーバに出力できないか検討してみる。
結論からいうとできる。
手順は次のとおり。
旧サーバからダンプ出力先を指定。
mysqldump -u[mysqlユーザ名] [データベース名] -p[mysqlパスワード] | gzip | ssh [新サーバホスト名|IPアドレス] ‘cat > ~/[圧縮ダンプファイル名]’
このときにgzipコマンドで圧縮しておくと転送量が抑えれる。
出力されたダンプファイルを解凍。
gunzip [ダンプファイル名]
あとは新サーバでインポートするだけ。
mysql -u [mysqlユーザ名]-p[mysqlパスワード] [データベース名] < /root/[ダンプファイル名]
旧サーバから新サーバへのダンプ処理中に旧サーバの容量を圧迫することなく処理ができるので無事移行完了。