【发布时间】:2012-09-14 21:31:38
【问题描述】:
刚开始连接数据库,不知道从哪里开始排除故障 -
我目前正在使用 HeidiSQL 连接到托管在 Amazon Web Service - EC2 上的外部 MySQL 数据库服务器。
我可以通过以下设置使用 HeidiSQL 访问数据库: MySQL(SSH 隧道) 主机名/IP:127.0.0.1 用户:(用户) 密码:(pw) 3306端口
在 SSH 隧道选项卡中: plink.exe 位置设置为 putty.exe sshhost + 端口:(我的主机 ip)端口 22 私钥文件:(已设置) 本地端口:3307
使用此配置,我可以登录到我的数据库。 我的问题是当我尝试使用自己的腻子命令使用端口转发来执行此操作时:
在腻子中: 我设置 SSH>tunnels - 源端口:3307,目标(我的主机 ip):3306 本地和自动。 我使用我的密码和 hostip 连接
回到 HeidiSQL,我将设置设置为: MYSL (TCP/IP) 主机名:本地主机 用户:(用户) 密码(pw) 3307端口
并尝试连接。我收到以下错误: SL 错误(2013):在“读取初始通信数据包”时丢失与 MySQL 服务器的连接,系统错误:0
根据我的阅读,这意味着我的 ssh 隧道正在工作,但还有其他问题。我现在不知道为什么这不起作用。我没有正确设置其他东西吗?给自己做防火墙?我的最终目标是使用相同的端口转发思想连接另一个应用程序以使用 ODBC 或 JDBC 与数据库进行通信。是否有日志可以检查某处?
【问题讨论】:
-
在 ec2 服务器上:在 /etc/ssh/sshd_config 中添加了以下行: AllowTcpForwarding 是的,这将我的错误消息更改为 root@hostip denied。这个根是我作为我的数据库用户放入 HeidiSQL 的值 - 根。有密码,没有它拒绝我访问。我还需要启用哪些其他可能的设置?