使用本地phpMyAdmin连接远程服务器上的MySQL
因为基于安全原因,远程服务器上的MySQL数据库是禁止对外开放端口的(防火墙未开启3306端口开放),而且bind-address = 127.0.0.1仅在本地运行。但是有时候又想要GUI界面操作一下,毕竟CLI一大串命令太难了😂(我不会~)
准备工作
远程服务器上MySQL运行正常,就是没有乱改什么限制,毕竟我只会一点点技能。
Windows 下SSH客户端,比如 Win10 自带的 SSH 或者XShell等等。
本地安装phpMyAdmin,我这里使用了 USBWebserver v8.6.2 直接解压运行,开箱即用
SSH隧道
命令行
ssh -fCPN –L 3307:localhost:3306 -p 1046 root@remotehost
# 参数解释
# -C 使用压缩功能,是可选的,加快速度.
# -P 用一个非特权端口进行出去的连接.
# -f 一旦SSH完成认证并建立port forwarding,则转入后台运行.
# -N 不执行远程命令.该参数在只打开转发端口时很有用(V2版本SSH支持)
# localhost:3306 连接远程主机本地连接的MySQL3306端口
# root@remotehost 远程主机的登录用户名和IP
# 3307 在本地主机建立一个3307的端口
# -p 1046 远程主机的SSH端口
输入密钥后,在没有报错的情况下,本地3307端口到远程主机的3306端口就建立了一条SSH隧道
XShell
第一步,设置SSH连接,这与普通的SSH连接一模一样

第二步,设置SSH隧道

第三步,设置完成以后,点击确定,并且使用SSH登录到远程服务器,以便打开SSH隧道。
本地phpMyAdmin
解压USBWebserver v8.6.2打开phpmyadmin文件夹,然后打开config.inc.php


编辑$cfg['Servers'][$i]['host'] = 'localhost:3307';这行(就是加个端口号)

接着运行usbwebserver.exe



最后点击常规里面的PHPMyAdmin

会自动打开浏览器到phpMyAdmin的登录页面,输入远程服务器上MySQL的账号密码即可
参考资料: