【问题标题】:How do I resolve this error when trying to connect to an SQL server hosted on a Google Compute Engine Ubuntu VM尝试连接到托管在 Google Compute Engine Ubuntu VM 上的 SQL 服务器时,如何解决此错误
【发布时间】:2018-09-11 01:19:34
【问题描述】:

对于我参加的数据库课程,教授要求我们设置多个 VM MySQL 服务器和远程连接。我找到了合适的文档来解决我的大部分问题,但我仔细研究了文档,试图找到解决我最新问题的方法。

我在 Google Cloud Compute Engine 上设置了一个 Ubuntu 虚拟机。我在这个虚拟机实例上安装了一个 MySQL 服务器,我需要从我的笔记本电脑远程登录。我已经关注了这个文档 https://cloud.google.com/solutions/mysql-remote-access 和这个 youtube 视频 https://www.youtube.com/watch?v=f5qQDm3ciDg

但是,当我测试连接时,我仍然收到无法连接到服务器的消息。我可以忽略什么可以帮助我建立联系?

谢谢!

【问题讨论】:

  • 您可以在同一虚拟机上连接到 MySQL 实例吗?如果是,您可以从同一项目中的另一个 VM 连接到 MySQL 实例吗?如果不是,则可能是配置错误的防火墙规则。因为您的工作站另外在 GCP 之外,所以使用您机器的 IP(v4) 作为防火墙规则的源地址(链接:cloud.google.com/solutions/…)。如果您在同一虚拟机上无法连接,则说明您的数据库无法正常工作。
  • 我可以从托管它的 VM 连接到服务器。因此,这可能是防火墙配置错误。不过,为了澄清一下,主机名(当我尝试从笔记本电脑的 MySQL 工作台连接时)是 VM 的内部 IP?
  • 当您从笔记本电脑连接时,您必须使用虚拟机 external IP。内部 IP(和内部 DNS 名称)只能由项目中的其他 VM 使用。
  • @DazWilkin 我尝试过处理防火墙设置,但无法弄清楚...我可以截一些屏幕截图以便您更好地诊断我的错误吗?
  • 希望其他人能够帮助您。我要休假了。祝你好运!

标签: mysql ubuntu google-cloud-platform google-compute-engine remote-access


【解决方案1】:

所以,我用头撞墙了足够长的时间,才意识到 ssh 将是比直接连接更容易的解决方案。

所以,至少对于我的 Windows 机器,这些是我建立连接所遵循的步骤:

  1. 下载sql server(非必要不需要添加用户,配置文件中的bind-address不要修改)。

  2. 使用 PuTTYgen 创建私有公钥对。将私钥导出为 openssh 格式(在导出选项中)

  3. 单击 VM 实例上的编辑按钮,然后向下滚动到 SSH 密钥部分。

  4. 将公钥粘贴到文本框中(务必将最后的注释部分更改为 Linus VM 上的用户名)

  5. 在 MySQL Workbench 上使用 SSH 连接。使用 VM 的外部 IP 作为第一个 (ssh) 主机名,使用 localhost 作为第二个 (SQL) 主机名。根据要求输入所有其他信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 2023-03-04
    • 1970-01-01
    • 2020-09-25
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    相关资源
    最近更新 更多