🌏
sshポートフォワーディングでMySQLを操作する
環境
Macのターミナルを使用
経路
MacPC → 踏み台サーバ → MySQL
準備
.sshディレクトリのconfigに踏み台サーバへのssh接続を設定しておく
Host fumidai
HostName 踏み台サーバのIPアドレス
User アクセスするユーザ名
Port 22
IdentifyFile ~/.ssh/id_rsa ※ssh認証用秘密鍵のパス
StrictHostKeyChecking no
ForwardAgent yes
UserKnownHostsFile=/dev/null
LogLevel QUIET
※.my.xx.cnf
ファイルを作成(無くてもいい)
[client]
host=127.0.0.1
port=13306
user=root(MySQLのユーザ)
password=MySQLのパスワード
バックグラウンド実行でMySQLに接続
ssh -fNL 13306:MySQLサーバのIPアドレス:3306 fumidai
13306はフォワードするローカルポート。何でもいい(3306でもいい)が、3306はMySQL用のポートなので、ローカルPCにあるMySQLと競合する可能性があるため別にした方が良い。
これで接続されたので、mysqldumpなど実行できる状態。
MySQL内にログイン
mysql -u root -h 127.0.0.1 --protocol tcp --port 13306 -p
.my.xx.cnf
を作成している場合はそれを使用してログインできる
mysql --defaults-extra-file=`.my.xx.cnf`のパス
Discussion