0

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

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

  • 服务器 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”

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

4

2 回答 2

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

于 2015-07-10T20:40:28.047 回答
1

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

于 2015-07-12T09:21:10.703 回答