Can’t connect to Vagrant using HeidiSQL: “Can’t connect to MySQL server on ‘localhost’”
I’m using Scotch Box, an awesome Vagrant LAMP stack.
I was able to setup everything on my Macbook in < 5 minutes, but I'm having issues getting it working on my Windows machine. When I try to connect to the vagrant database using the HeidiSQL client, I receive the following error: Below are my connection settings: I've also tried port 22 on the SSH Tunnel tab, and I've double checked my passwords: MySQL: root/root Vagrant: vagrant/vagrant I've confirmed that the MySQL service is running, and I'm able to connect to MySQL via the command line when I ssh into the Vagrant instance. Any idea why this isn't working out-of-the-box for me? Thanks! Edit: Here's the Vagrantfile if it helps: # -*- 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”]
One thing I overlooked is that “local port” under the SSH Tunnel tab is also required. To wrap it all together, there’s three key ports to set.
If your Vagrantfile looks kind of like this:
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
and Vagrant auto-forwards the SSH port (22) to, say 2222 (you can check this by
vagrant ssh-config, then the HeidiSQL config should be as follows:
As new Vagrant versions use a custom-generated SSH key, you will need that instead of the vagrant/vagrant user/pw combination. The keys can be found in
This is as of HeidiSQL 22.214.171.12430 (64 Bit) on Windows 10.
This seems to be an issue with the version of HeidiSQL I was using. Upgrading to HeidiSQL 9.1 allowed me connect.
I still experience this issue in HeidiSQL 9.3. I’ve found that suspending and reloading the vagrant box can make it go away.
Got similar issue but on Ubuntu(using wine). The problem was that we use IP for vagrant virtual machine that starts from “192.”.
Solve simply adding host on hosts file as “192.bla.bla.bla bla.com” and use domain “bla.com” instead IP in HeidiSQL “SSH tunnel” page.
Though i got no luck connecting via MYSQL (TCP/IP) setting, i found a solution to the problem.
You need to connect via MYSQL (ssh tunnel), enter corresponding password, connect with plink (you will find link in HeidiSQL itself) and set plink timeout to number >10-20.
Tested it with 9.3 build 5901.
This solution was also mentioned in scotchbox issue on github.