我不知道这是我的用户错误,还是远程服务器配置不正确。
我获得了服务器的一些连接信息,如下所示:
我可以在shell中运行" mysql"我给出了mysql用户和密码的命令,但我无法在MySQL Workbench或HeidiSQL中建立连接。
在MySQL Workbench中,通过SSH'标准TCP / IP;似乎最适合我给出的信息,但是当我尝试连接时,我得到了#34;身份验证错误。请检查您的用户名和密码是否正确,然后重试。"或"身份验证错误打开SSH隧道:身份验证错误。请检查您的用户名和密码是否正确,然后重试。"在日志文件中。
在HeidiSQL中,&#34; MySQL(SSH隧道)&#34;似乎最适合我给出的信息,但是当我尝试连接到那里时,我得到&#34;失去与MySQL服务器的连接,并且读取初始通信包&#39;,系统错误:0&#34; < / p>
我查找了这两个错误并且找不到第一个错误,第二个看起来更像是服务器配置。我对服务器配置不太了解,所以我有点卡在评估我是否在我的方面做错了什么,或者是否需要在服务器上更改某些内容。我很欣赏一些建议。谢谢!
答案 0 :(得分:1)
在执行远程mysql连接之前,您必须检查几个配置步骤:
首先,您必须检查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
然后,您必须检查是否允许远程主机执行查询到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;
您必须检查远程主机(客户端)是否存在,例如:user@192.168.1.2
最后,如果您使用putty加密ssh连接,请检查您是否添加了密钥指纹,您只需使用putty客户端登录ssh即可执行此操作。
答案 1 :(得分:1)
您必须更加具体地了解您获得的凭据。 “服务器IP”是MySQL服务器或SSH服务器的IP地址吗? “服务器用户名”是SSH用户还是其他东西(例如目标机器的常规用户)?在我关于Youtube的教程视频中,我解释了你必须在哪里创建连接,包括SSH连接:https://www.youtube.com/watch?v=DCgRF4KOYIY