无法通过MySQL Workbench或HeidiSQL访问MySQL,但可以通过shell访问

时间:2015-07-10 18:12:40

标签: mysql mysql-workbench heidisql

我不知道这是我的用户错误,还是远程服务器配置不正确。

我获得了服务器的一些连接信息,如下所示:

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

我可以在shell中运行" mysql"我给出了mysql用户和密码的命令,但我无法在MySQL Workbench或HeidiSQL中建立连接。

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

在HeidiSQL中,&#34; MySQL(SSH隧道)&#34;似乎最适合我给出的信息,但是当我尝试连接到那里时,我得到&#34;失去与MySQL服务器的连接,并且读取初始通信包&#39;,系统错误:0&#34; < / p>

我查找了这两个错误并且找不到第一个错误,第二个看起来更像是服务器配置。我对服务器配置不太了解,所以我有点卡在评估我是否在我的方面做错了什么,或者是否需要在服务器上更改某些内容。我很欣赏一些建议。谢谢!

2 个答案:

答案 0 :(得分: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. 然后,您必须检查是否允许远程主机执行查询到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 root@localhost;

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

  3. 您必须检查远程主机(客户端)是否存在,例如:user@192.168.1.2

  4. 最后,如果您使用putty加密ssh连接,请检查您是否添加了密钥指纹,您只需使用putty客户端登录ssh即可执行此操作。

答案 1 :(得分:1)

您必须更加具体地了解您获得的凭据。 “服务器IP”是MySQL服务器或SSH服务器的IP地址吗? “服务器用户名”是SSH用户还是其他东西(例如目标机器的常规用户)?在我关于Youtube的教程视频中,我解释了你必须在哪里创建连接,包括SSH连接:https://www.youtube.com/watch?v=DCgRF4KOYIY