外部サーバーの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
まとめ
とりあえず動きそうというとこまでを作業しました。 ポートフォワードのポート番号が他と被るのは良くないので、多ユーザーを対象にしたいときは、ポート番号管理テーブルが必要になりそう。