2013-04-02 180 views
1

我知道这是一个重复的问题,但我已经尝试了很多资源,没有一个为我工作。我的公司有一台可以连接SSH的亚马逊Bastian服务器。从那里,我可以SSH到各种IP地址来管理数据库。我希望这些数据库在phpmyadmin中可用。这里就我所知:SSH隧道通过PhpMyAdmin

  1. SSH通过putty进入主亚马逊服务器。使用3307端口的隧道时,当我访问localhost:3307时,我收到一条消息“Welcome to nginx!”。我认为这意味着我连接到亚马逊。

  2. 我试过其他主机配置说明这里:http://shallop.com/2011/04/howto-use-phpmyadmin-to-remote-admin-mysql-dbs-via-ssh-tunnel/

当我重新启动phpMyAdmin的,并尝试我的新的连接字符串,它只是挂起。我在哪里错了?

回答

4

有信息的从你的问题错过了几位,所以我会作出一些假设:

  • 你是在本地网络服务器
  • 你想创建本机上运行的隧道的phpmyadmin连接到远程MySQL服务器是只能通过亚马逊的服务器巴斯蒂安

好访问那么它应该是所有到你如何设置端口转发,因为你获得欢迎nginx的!听起来您已将端口3307转发到远程计算机上的端口80。

试试这个ssh命令:

$ ssh -N <username>@<Bastian server IP> -L 3307:<internal ip of mysql server>:3306 
  • -N意味着你不想执行任何命令(只是端口转发)
  • 3307要被转发到本地端口
  • 是Bastian服务器可用于连接到MySQL服务器的IP
  • 3306是MySQL在远程机器上运行的端口

现在运行在本地计算机上执行以下操作:

$ telnet localhost 3307 

你应该可以看到你的MySQL版本号输出,一些随机字符,然后mysql_native_password,连接然后将关闭。

然后,您应该能够配置phpmyadmin使用本地主机和端口3307连接到您的远程服务器。