Connect to MySQL database on vagrant machine in PhpStorm

19.8k Views Asked by At

I can not create a connection to a MySQL database in a vagrant machine with PhpStorm.

My settings are:

DATABASE tab:
- Host: 127.0.0.1
- Port: 3306
- User: root
- Password: root_passsword

SSH/SSL tab:
- Proxy host: 192.168.56.102
- Port: 22
- Proxy user: vagrant
- Proxy password: vagrant

Can someone help me? Thanks

3

There are 3 best solutions below

1
On

In SSH/SSL tab, select Auth type Key pair, then copy the path to private key file define in IdentityFile. For instance C:/virtualM/deb56/puphpet/files/dot/ssh/id_rsa

$vagrant up
$vagrant ssh-config
Host local
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile "C:/virtualM/deb56/puphpet/files/dot/ssh/id_rsa"
  IdentityFile "C:/Users/User/.vagrant.d/insecure_private_key"
  IdentitiesOnly yes
  LogLevel FATAL
0
On

If you're using Homestead, these settings worked just fine for my Vagrant box:

Host: 192.168.10.10
Port: 3306
Username: homestead
Password: secret

Then again, so did MilanG's answer, so pick whatever you feel comfortable with. Since it's just local for me I did this and then I won't have to update my keyfile path should I move my Vagrant box. But that's really minor so do whatever you feel is best.

0
On

Here is a really nice article on this subject:

https://www.theodo.fr/blog/2017/03/how-to-manipulate-the-mysql-database-of-your-vagrant-from-phpstorm/

That is:

  1. In PhpStorm click on View -> Tool Windows -> Database
  2. Click on the Database sidebar, click on new -> Datasource -> MySQL The configuration window will appear
  3. Open your terminal.
  4. Go to your project: cd ~/path/to/your/project
  5. Run vagrant ssh-config command from the terminal
  6. At PhpStorm configuration window for connection you are creating go to SSH/SSL tab
  7. Select "Use SSH tunnel" and enter data from the terminal. Auth type should be "Key pair (Open SSH)".
  8. Copy "Host name" to "Proxy host", "Port" to "port", "User" to "Proxy user" and "Identity file" to "Private key file"
  9. At "General" tab you should enter your database connection data as you would on virtual machine (i.e. copy from your project DB settings).
  10. Test your connection.

Or just visit the page which URL I posted at top.