生產 MySQL 僅監聽 127.0.0.1 或 Unix Socket,拒絕遠程 TCP 連線;GUI 工具(MySQL Workbench、Administrator、Query Browser)需網路介面。
my.cnf bind-address = 127.0.0.1(或註釋掉 skip-networking)。systemctl restart mysql。# ~/.ssh/config
Host remotesql
HostName db.example.com
User devops
LocalForward 13306 127.0.0.1:3306
# 若需其它電腦連本機隧道,改為 LocalForward *:13306 127.0.0.1:3306
啟動隧道:
ssh -f -N remotesql # -f 背景執行,-N 不開 shell
127.0.0.1(或 localhost 若工具強制解析為 socket,請用 127.0.0.1)13306mysql -u root -p -h 127.0.0.1 -P 13306
autossh + systemd 讓隧道開機自動重連。ProxyJump 串聯內網 DB。Connection → SSH → Tunnels 設定 Source port 13306、Destination 127.0.0.1:3306。Access denied:檢查 MySQL 帳號 host 欄位是否允許 127.0.0.1 或 %。ServerAliveInterval 60 保持心跳。