94 votes

Comment se connecter au serveur Mysql dans VirtualBox Vagrant?

J'ai monté une nouvelle machine VirtualBox avec Vagrant et, à l'intérieur de cette machine virtuelle, j'ai installé Mysql Server. Comment puis-je me connecter à ce serveur en dehors de la machine virtuelle? J'ai déjà transféré le port 3306 du fichier Vagrantfile, mais lorsque j'essaie de me connecter au serveur mysql, il est reposté avec l'erreur suivante: "lecture du paquet de communication initial"

 ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
 

128voto

drorb Points 5210

Assurez-vous que MySQL se lie à 0.0.0.0 et pas 127.0.0.1 ou elle ne sera pas accessible de l'extérieur de la machine

Vous pouvez vous assurer en modifiant votre mon.fichier conf et la recherche pour l' bind-address article--vous voulez qu'il ressemble bind-address = 0.0.0.0. Puis l'enregistrer et redémarrer mysql:

sudo service mysql restart

Si vous faites cela sur un serveur de production, vous voulez être conscient des implications de sécurité, discutés ici: http://serverfault.com/questions/257513/how-bad-is-setting-mysqls-bind-address-to-0-0-0-0

49voto

Connectez-vous à votre boîte avec ssh vagrant@127.0.0.1 -p 2222 (mot de passe vagabond)

Ensuite: sudo nano /etc/mysql/my.cnf commentez les lignes suivantes avec;

 ;skip-external-locking 
;bind-address
 

enregistrer et quitter

alors: sudo service mysql restart

Ensuite, vous pouvez vous connecter via SSH à votre serveur MySQL.

18voto

radiohub Points 31

Je suis tombé sur ce problème récemment. J'ai utilisé PuPHPet pour générer une configuration.

Pour me connecter à MySQL via SSH, le mot de passe "vagrant" ne fonctionnait pas pour moi, mais je devais m'authentifier via le fichier de clé SSH.

Pour vous connecter à MySQL Workbench

Méthode de connexion

TCP / IP standard sur SSH

SSH

 Hostname: 127.0.0.1:2222 (forwarded SSH port)
Username: vagrant
Password: (do not use)
SSH Key File: C:\vagrantpath\puphpet\files\dot\ssh\insecure_private_key
              (Locate your insercure_private_key)
 

MySQL

 Server Port: 3306
username: (root, or username)
password: (password)
 

Testez la connexion.

17voto

Sarmen B. Points 1255

Pour ceux qui essaient de le faire avec mysql workbench ou sequel pro, voici les entrées:

 Mysql Host: 192.168.56.101 (or ip that you choose for it)
username: root (or mysql username u created)
password: **** (your mysql password)
database: optional
port: optional (unless you chose another port, defaults to 3306)

ssh host: 192.168.56.101 (or ip that you choose for this vm, like above)
ssh user: vagrant (vagrants default username)
ssh password: vagrant (vagrants default password)
ssh port: optional (unless you chose another)
 

source: https://coderwall.com/p/yzwqvg

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X