🌏

sshポートフォワーディングでMySQLを操作する

2023/09/26に公開

環境

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