无法使用HeidiSQL连接到Vagrant:"无法连接到'localhost'上的MySQL服务器"

And*_*rew 10 mysql linux ssh virtual-machine vagrant

我正在使用Scotch Box,一个非常棒的Vagrant LAMP堆栈.

我能够在<5分钟内设置Macbook上的所有内容,但是我在使用Windows机器时遇到问题.

当我尝试使用HeidiSQL客户端连接到vagrant数据库时,收到以下错误:

图片

以下是我的连接设置:

图片

图片

我还在SSH隧道选项卡上尝试了端口22,并且我已经仔细检查了我的密码:

MySQL: root/root

流浪汉:流浪汉/流浪汉

我已经确认MySQL服务正在运行,当我进入Vagrant实例时,我可以通过命令行连接MySQL.

知道为什么这对我来说不是开箱即用的吗?

谢谢!

编辑:

这是Vagrantfile有用的:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

  config.vm.box = "scotch/box"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.hostname = "scotchbox"
  config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]

end
Run Code Online (Sandbox Code Playgroud)

Max*_*Max 9

我忽略的一件事是SSH隧道选项卡下的"本地端口"也是必需的.要将它们包装在一起,可以设置三个关键端口.

如果您的Vagrantfile看起来像这样:

Vagrant.configure("2") do |config|
    config.vm.network "forwarded_port", guest: 3306, host: 3310
    config.vm.network "private_network", ip: "192.168.100.11"
end
Run Code Online (Sandbox Code Playgroud)

和Vagrant自动转发SSH端口(22),比如2222(你可以检查一下vagrant ssh-config,然后HeidiSQL配置应该如下:

红色括号突出显示要更改的字段

由于新的Vagrant版本使用自定义生成的SSH密钥,因此您需要使用它而不是vagrant/vagrant用户/ pw组合.钥匙可以找到project location\.vagrant\machines\default\virtualbox.

这与Windows 10上的HeidiSQL 9.4.0.5130(64位)相同.


And*_*rew 2

这似乎是我使用的 HeidiSQL 版本的问题。升级到 HeidiSQL 9.1 允许我连接。

  • 仅供参考,我正在运行 9.3.0.4984 并且遇到了与您上面概述的相同问题,因此要么存在回归错误,要么它不仅仅是您正在使用的版本。:) (4认同)