koteikin
4/17/2018 - 8:58 AM

Connect MySQL database in Vagrant VM from Host machine

Connect MySQL database in Vagrant VM from Host machine

Connecting to Vagrant VM MySQL database from host

This gist shows how to connect to your vagrant MySQL database from the host machine.

Change Address Binding from MySQL

  • Connect to vagrant using vagrant ssh
  • Edit file /etc/mysql/my.cnf:
    • Change parameter bind-address to 0.0.0.0 to allow all incoming connection attempts
    • NOTE: Do not allow this in production
  • Change privileges of the MySQL user to allow connection attempts from any host:
    • On host connect as root user using mysql -uroot -proot
    • mysql> appears
    • Insert GRANT ALL PRIVILEGES ON *.* TO username@'%' IDENTIFIED BY "password";
    • username@'%' grants access from all hosts

Connect to DB by using MySQL Workbench

  • Add a new connection with the following parameters
    • Connection Method: Standard TCP/IP over SSH
    • SSH Hostname: 127.0.0.1:2222 if your VM is listening on port 2222 (showing on VM startup)
    • SSH username: vagrant or your vagrant user
      • SSH Key File: Use the path showing at IdentityFile when you type vagrant ssh-config on your vagrant root folder (in case vagrant uses SSH auth method: private key. Showing on VM startup)
      • SSH Password: In case you use SSH auth method: password on your VM
    • MySQL Hostname: 127.0.0.1
    • MySQL Server Port: 3306
    • Username: Your MySQL username