使用本地phpMyAdmin连接远程服务器上的MySQL

使用本地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连接一模一样

Alt text

第二步,设置SSH隧道

Alt text

第三步,设置完成以后,点击确定,并且使用SSH登录到远程服务器,以便打开SSH隧道。

本地phpMyAdmin

解压USBWebserver v8.6.2打开phpmyadmin文件夹,然后打开config.inc.php

Alt text

Alt text

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

Alt text

接着运行usbwebserver.exe

Alt text

Alt text

Alt text

最后点击常规里面的PHPMyAdmin

Alt text

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


参考资料:

使用SSH隧道连接MYSQL

VPS 上使用 phpMyAdmin 会不会很不安全?