中年プログラマーの息抜き

カシマルです。 最近、新しい土地へ引っ越しをしたのですが、これを機に何か始めたいなと思ってブログをはじめました。気の向くままに更新していきます。

外部サーバーのMySQLにssh経由で接続してダンプとリストアをしてみる

はじめに

今回は、SSHポートフォワードについてです。レンタルサーバーでXSERVERがありますが、月額約1,000円のプランでも、SSHが利用できますので、ここを対象にWEBからリモートでつないでWORDPRESSのDBをリストアする仕組みを考えているのですが、とりあえず今回はSSHポートフォワード試しました。

環境

 ・自サーバー(HYPERV【linux】)
 ・外部サーバー(XSERVER【レンサバ】)

ポートフォワード

ssh -f -N -L 10000:MYSQL-HOST:3306 -i SSH-RSA -p SSH-PORT SSH-USER@SSH-HOST

f, Nオプション:バックグラウンド起動のため必要
 →解放は、コンソールを終了するか、KILLコマンド
 →もしくは、Write failed: Broken pipe

MYSQLダンプ・リストア

mysqldump -p10000 -uMYSQL-USER -pMYSQL-PASSWORD DATABASE > FILENAME
mysql -p10000 -uMYSQL-USER -pMYSQL-PASSWORD DATABASE < FILENAME

まとめ

とりあえず動きそうというとこまでを作業しました。 ポートフォワードのポート番号が他と被るのは良くないので、多ユーザーを対象にしたいときは、ポート番号管理テーブルが必要になりそう。