(帮助,耐心和怜悯......初学者迷失了哈哈)
-好的,事情是这样的,我试图通过 MySQL Worckbrench 中的 SSH 将 EC2 实例连接到 MySQL
-我这样设置配置
SSH 主机名:我的公共 DNS
SSH 用户名:ec2-user
以及实例的密钥文件
MySQL 主机名:127.0.0.1
MySQL 服务器端口:3306
用户名:root
(最后一部分保留默认设置)
-当我尝试连接时弹出此错误:
“无法通过 SSH 隧道连接到 127.00.1:3306 上的 MySQL我的服务器 DNS使用 root 用户在“读取初始通信包”时与 MySQL 服务器失去连接,系统错误:0
-我找到了一些可能的解决方案,但我不知道它们是否对我的情况不起作用,或者我只是弄错了
-最常见的解决方案建议将 SQL my.ini 的绑定地址从127.0.0.1到0.0.0.0 但在MySQL 5.6版本中默认地址已经设置为0.0.0.0。(http://dev.mysql.com/doc/refman/5.1/en/server-options.html)我甚至找不到 my.ini 中的绑定地址部分
我发现我的 EC2 服务器一切正常,我可以通过命令通过 ssh 连接,所以我猜 ssh 配置也是正常的
我错过了什么?
答案1
当我遇到该问题时,是因为 mysql 客户端的“连接”部分中使用的主机名没有正确将其在 MySQL 服务器中的名称解析为服务器本身。
通常我必须更改 /etc/hosts 并将 localhost 添加到 127.0.0.1 条目。
您的情况好像和您使用的ip 127.0.0.1不一样?!
顺便问一下,您是否输入了错误 127.00.1:3306?那里少了一个点。
答案2
尝试自己制作隧道
ssh -f -L 3306:本地主机:3306 11.22.33.44 -N
然后只需连接到 localhost:3306,无需 SSH 加密。