经常遇到这样一种情况,本地无法连接线上的服务器A的mysql。但是我们可以连接线上服务器B,然后B服务器可以连接到A服务器的mysql。这时候,我们如果想让本地搭建的开发环境连上服务器A的mysql,就可以使用secureCrt的端口转发功能。
这个东西的原理其实就是,secureCrt监听本地端口x,当x有请求时,把请求的信息获取,然后传给远程服务器的端口y,然后远程服务器的端口y返回数据,secureCrt把返回的数据发送给刚才的请求者。
步骤如下:
1、用secureCrt连上服务器B,然后点击 Options->Session Options
2、新建一个端口转发
3、输入相关信息
4、测试
编写php程序测试一下:
<?php
$port = 13306; //刚才输入的本地将要使用的端口
$userName = 'test'; //在服务器B上连接服务器Amysql,使用的mysql用户名
$passwd = 'passwd'; //改用户名对应的密码
$con = new PDO("mysql:host=localhost:{$port}", $userName, $passwd);
if($con){
echo "success";
}
运行程序,可以发现,已经连接成功