mysql - 无法使用 HeidiSQL : "Can' t connect to MySQL server on 'localhost' "连接到 Vagrant

标签 mysql linux ssh vagrant virtual-machine

我正在使用 Scotch Box ,一个很棒的 Vagrant LAMP 堆栈。

我能够在不到 5 分钟的时间内在我的 Macbook 上设置好一切,但我在我的 Windows 机器上运行时遇到了问题。

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

image

以下是我的连接设置:

image

image

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

MySQL:根/根

Vagrant : Vagrant/Vagrant

我已确认 MySQL 服务正在运行,并且当我通过 ssh 进入 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

最佳答案

我忽略的一件事是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

并且 Vagrant 会自动将 SSH 端口 (22) 转发到 2222(您可以通过 vagrant ssh-config 进行检查,那么 HeidiSQL 配置应如下所示:

Red brackets highlight fields to change

由于新的 Vagrant 版本使用自定义生成的 SSH key ,您将需要它而不是 vagrant/vagrant user/pw 组合。可以在 project location\.vagrant\machines\default\virtualbox 中找到 key 。

这是在 Windows 10 上的 HeidiSQL 9.4.0.5130(64 位)。

关于mysql - 无法使用 HeidiSQL : "Can' t connect to MySQL server on 'localhost' "连接到 Vagrant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29885693/

相关文章:

python - 在python中使用sql select的过程的奇怪结果

mysql - 如何找到与两个或多个唯一列条目匹配的键?

Mysql保存用户和服务器当前的时间差

linux - 使用 'expect'命令远程传递密码给SSH运行脚本

mysql - 解决错误2006(HY000):MySQL服务器已经消失而没有更改max_allowed_pa​​cket

java - channel 3 : open failed: connect failed: Connection refused

mysql - 在一个查询中两次连接同一张表

linux - 为什么分片需要很多存储空间?

c - 错误 : -ld returned 1 exit status.

linux - 排序在 bash 脚本中不起作用