【问题标题】:Can't access MySQL through MySQL Workbench or HeidiSQL, but can access through shell无法通过 MySQL Workbench 或 HeidiSQL 访问 MySQL,但可以通过 shell 访问
【发布时间】:2015-07-10 18:12:39
【问题描述】:

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

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

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

我可以使用给定的 mysql 用户和密码进入并运行“mysql”命令,但我无法在 MySQL Workbench 或 HeidiSQL 中建立连接。

在 MySQL Workbench 中,“基于 SSH 的标准 TCP/IP”似乎最符合我提供的信息,但是当我尝试连接时,我收到“身份验证错误。请检查您的用户名和密码是否正确,然后重试。”或“Authentication error opening SSH tunnel: Authentication error。请检查您的用户名和密码是否正确,然后重试。”在日志文件中。

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

我查找了这两个错误,但找不到第一个错误,第二个似乎更多关于服务器配置。我对服务器配置不太了解,所以我有点难以评估我是否做错了什么,或者是否需要在服务器上进行更改。我会很感激一些建议。谢谢!

【问题讨论】:

  • 在您有机会连接到 mysql 之前,您在 SSH 中被阻止。您可以通过本地 PC 上的终端 SSH 连接到服务器吗?
  • 您或其他人是否更改了 my.cnf 以启用远程连接?
  • 我可以通过终端正常 SSH,并且我的用户可以在终端中执行 mysql 操作,但我无法让它通过 MySQL Workbench 等 MySQL 工具工作。我不知道 .cnf 文件。我得到了这些证书,并告诉我他们为给我的人工作。
  • 我完成了 Germán Robles 故障排除步骤(.cnf 文件更新除外),一切正常。
  • 我在 HeidiSQL 中再次尝试并让它工作(所以我猜这是用户错误!)。但是我仍然无法让 MySQL 工作台工作。我一遍又一遍地检查了一切,一切似乎都是正确的。我什至让一位同事仔细检查了我的设置。我不知道 MySQL Workbench 出了什么问题,但我会改用 HeidiSQL。

标签: mysql mysql-workbench heidisql


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    在执行远程 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 加密您的连接,请检查您的 rsa 密钥指纹是否已添加,您只需使用 putty 客户端记录 ssh 即可执行此操作。

    【讨论】:

      猜你喜欢
      • 2019-07-18
      • 1970-01-01
      • 2013-05-18
      • 2012-10-17
      • 2016-03-06
      • 2023-01-18
      • 1970-01-01
      • 2019-08-02
      • 2019-03-04
      相关资源
      最近更新 更多