使用 mysql Workbench 连接到在 VMware Fusion 中运行的 ubuntu 中的 mysql 服务器

使用 mysql Workbench 连接到在 VMware Fusion 中运行的 ubuntu 中的 mysql 服务器
guest OS ---> Ubuntu 22.04.1 LTS
host OS ----> MacOS 12.5.1
VMware Fusion: Player Version 12.2.4 (20071091)
mysql: Ver 8.0.30-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))
mysql Workbench 8.0.30

我正在尝试配置 mysql Workbench 以连接到虚拟机中托管的 mysql 服务器。我拥有并控制主机和客户机操作系统以及 mysql 服务器。

我可以通过 VMware 的“连接到 SSH”选项连接到 Ubuntu 机器。它使用服务器 172.yy.yy.yy 和端口 22。我还提供了 Ubuntu 操作系统的 u/name 和 p/wd。一切正常,我可以使用它 sudo 进入 mysql。我还可以使用拥有主机“localhost”的另一个用户登录。

我无论如何也想不出应该在 mysql workbench 中输入什么才能连接。我创建了一个远程访问用户,该用户的主机是 MacOS 的 ip 地址(我通过谷歌搜索“我的 ip”就找到了这个地址)。

我还编辑了 /etc/ssh/sshd_config 以包含:(ListenAddress xx.xx.xx.xx其中 xx.xx.xx.xx 是我的主机操作系统的 IP 地址)。

连接方式:我已选择Standard TCP/IP over SSH

SSH 主机名:my_guest_OS's_IP_address

SSH 用户名:my_guest_OS's_username

SSH 密码:my_guest_OS's_username's_pwd

MySQL 主机名:0.0.0.0

MySQL 服务器端口:22

用户名:my_remote_mysql_login_name

密码:my_remote_mysql_login_pwd

默认架构:<leave_blank>

我目前收到以下错误信息:

Failed to Connect to MySQL at 0.0.0.0:22 through SSH tunnel at <my_guest_OS's_username>@<my_guest_OS's_IP_address> with user <my_remote_mysql_login_name>

Cannot open SSH Tunnel: Connection refused

答案1

成功!

经过进一步研究,我现在已经连接上了。有三个问题。

  1. 错误的 IP 地址SSH Hostname无法通过简单地打开浏览器并在谷歌上搜索“我的 IP”来发现。我需要登录终端并使用ip route,然后找到src获取 SSH 主机地址的行。

  2. 我读到过,我应该为远程访问创建一个单独的 mysql 用户,并且该用户的主机名应该为我要连接的 IP 地址。但事实并非如此。Workbench 似乎坚持username@localhost在尝试连接时使用。因此,user_remote@localhost如果用户表中列出的用户名和主机实际上是,例如,则始终会失败[email protected]。为了解决这个问题,我只需使用本地用户登录即可。然后 Workbench 发送user_local@hostname,一切正常。

    | user             | host        |
    +------------------+-------------+
    | user_remote      | xx.xx.xx.xx |
    | user_local       | localhost   |
    +------------------+-------------+
  1. @matigo 是正确的。我需要 mysql 主机名和服务器端口中的 127.0.0.1 和 3306。

相关内容