【问题标题】:Google Compute Engine, mySQL Workbench谷歌计算引擎,mySQL 工作台
【发布时间】:2013-06-12 01:10:20
【问题描述】:

首先让我说,任何帮助将不胜感激。

我已经在 GCE 上设置了一个实例。我正在使用 gcutil 访问实例。我已经安装了 mySQL 和 mySQL Workbench。 mySQL 启动良好,但想使用 mySQL Workbench。当我运行 mySQL Workbench 时,我得到:

**消息:Gnome 密钥环守护程序似乎不可用:退出后存储的密码将丢失 GTX-警告:无法打开显示

我尝试将默认显示设置回我的本地主机,其中: 导出显示=127.0.0.1

我什至安装了 gnome。

任何想法如何克服这个问题?

【问题讨论】:

    标签: mysql-workbench google-compute-engine


    【解决方案1】:

    目前尚不清楚您的 X Display 服务器在哪里运行。您需要做的是以某种方式让 X 客户端(mySQL Workbench)与您的 X 服务器(在您的工作站/笔记本电脑上运行的显示服务器)对话。一种常见的方法是通过 SSH 建立隧道连接。

    如果我(大)假设您在 Mac 上运行并从那里使用 gcutil 启动,您可能想做这样的事情:

    首先,在您的 Mac 上,下载并启动 XQuartz。如果您在本地运行 Linux,则可以跳过此步骤。如果您使用的是 Windows,我没有任何最近的经验或建议。

    接下来,创建并配置您的虚拟机。确保最终安装了xauth。如果不是,您将无法通过 SSH 转发 X 连接。您将在下一步中看到一个错误。

    此时您可能需要重新启动主机上的 shell。然后,您希望通过 SSH 连接到您的 GCE 实例,例如:

    gcutil ssh --ssh-arg=-Y <my-instance>
    

    现在应该进行设置,以便在您的实例中运行的任何 X 程序都通过 SSH 连接转发到在您的工作站上运行的 X 服务器。您可以通过在 VM 中运行来确认这一点:

    me@instance $ echo $DISPLAY
    localhost:10.0
    

    另一种方法是在工作站/笔记本电脑上下载并运行 mySQL 客户端,让它直接与数据库通信。您也可以通过 SSH 隧道连接 mySQL 连接(TCP 端口 3306)来做到这一点。像这样运行:

    gcutil ssh --ssh_arg="-L3306:localhost:3306" <my-instance>
    

    您现在可以在本地启动和运行 MySQL Workbench 并连接到远程数据库。只需连接到本地机器上的 localhost:3306,该连接就会被转发到远程机器上的 3306。

    有很多关于 SSH port forwarding 的信息。

    【讨论】:

      【解决方案2】:

      显示应设置为您的工作站 IP 地址,而不是 GCE 实例。

      【讨论】:

      • 感谢 Yuri 的回答,但 127.0.0.1 不是对 localhost 这样做的吗?在提交问题之前,我尝试使用我的 MAC 在系统偏好设置中提供的 IP 地址,但这也不起作用。还有其他建议吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      • 2013-12-05
      • 1970-01-01
      • 2014-04-05
      相关资源
      最近更新 更多