2015-07-10 105 views
0

我不知道这是否是我的用户错误,或者远程服务器配置不正确。无法通过MySQL Workbench或HeidiSQL访问MySQL,但可以通过shell访问

我得到了一个服务器的一些连接信息如下:

  • 服务器IP
  • 服务器的用户名
  • 密钥文件
  • mysql用户
  • mysql的密码

和我可以通过shell来运行“mysql”命令服务器和密码,但我无法在MySQL Workbench或HeidiSQL中设置连接。

在MySQL Workbench中,'SSH上的标准TCP/IP'似乎最适合我提供的信息,但是当我尝试连接时,我得到“身份验证错误,请检查您的用户名和密码是否正确,然后尝试再次。”或“验证错误打开SSH隧道:验证错误,请检查您的用户名和密码是否正确,然后重试。”在日志文件中。

在HeidiSQL中,“MySQL(SSH隧道)”似乎最适合我提供的信息,但是当我尝试连接时,出现“在读取初始通信数据包时丢失与MySQL服务器的连接”,系统错误:0“

我抬头看到这两个错误,第一个找不到任何东西,第二个看起来更像是服务器配置。我对服务器配置不是很了解,所以我有点卡住评估我是否在我的一端做错了什么,或者是否需要在服务器上改变某些东西。我会很感激一些建议。谢谢!

+0

在SSH获得连接到MySQL之前,你已经被阻止。你能通过你的本地PC上的终端SSH进入服务器吗? – ODelibalta

+0

您或其他人是否更改了my.cnf以启用远程连接? – BK435

+0

我可以通过终端SSH很好,我的用户可以在终端执行mysql操作,但我无法通过MySQL工具如MySQL Workbench工作。我不知道.cnf文件。我获得了这些凭据,并告诉他们为给他们的人工作。 – axxint

回答

1

你必须检查几个配置步骤,然后才能执行远程MySQL连接:

所有的
  1. 首先,你必须检查的MySQL默认port(3306)是正确的接口上侦听。 你可以看看这个在远程服务器中使用netstat命令:

    # netstat -tulnp tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1111/mysqld

    http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html

  2. 然后你必须检查远程主机被允许执行querys到MySQL引擎(必须检查您的数据库上的用户和主机权限)。

    连接到终端并运行在MySQL提示以下命令:

    mysql> select user,host from mysql.user;

    检查下面的链接继续深入了解MySQL用户和主机系统: https://dev.mysql.com/doc/refman/5.0/en/adding-users.html

    检查用户,主机权限过您的数据库:

    mysql> show grants for [email protected];

    https://dev.mysql.com/doc/refman/5.1/en/grant.html

  3. 您必须检查远程主机(客户端),例如有:[email protected]

  4. 最后,如果你使用的是腻子SSH加密了你的连接,请检查您的RSA密钥指纹添加就可以使用你的腻子客户端执行这个只需记录ssh。

1

您必须更具体地了解您获得的凭据。 “服务器IP”是MySQL服务器还是SSH服务器的IP地址? “服务器用户名”是SSH用户还是其他人(例如目标机器的普通用户)?在我的教程视频Youtube上,我解释了你必须使用哪些地方创建连接,包括SSH连接:https://www.youtube.com/watch?v=DCgRF4KOYIY

相关问题