Frage Vagrant Port Forwarding für Mysql


Ich versuche Port-Forwarding in Vagrantfile zu konfigurieren, um eine Verbindung zu Gast mysqld vom Host-System zu bekommen, aber bekommen reading initial communication packet Error. Gastgeber: Yosemite, Gast: trusty, vagrant 1.7.4

Vagrantfile (Gastgeber):

config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 3306, host: 3309

my.ini (Gast):

bind-address            = 127.0.0.1

8080 Weiterleitung funktioniert wie ein Zauber.

mysql -h127.0.0.1 -uroot -p vom Gast funktioniert auch.

mysql -h127.0.0.1 -P 3309 -uroot -p aus Host-Ergebnissen mit reading initial communication packet Error.

Wenn ich vom Host aus telnet, wird die Verbindung sofort geschlossen:

$ telnet localhost 3309
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

Port-Weiterleitung funktioniert, wenn ich vom Host zur vagabundierenden Box ssh:

$ssh vagrant@127.0.0.1 -p 2222 -L3308:localhost:3306 

Dann kann ich vom Host aus verbinden mysql -h127.0.0.1 -P3308 -uroot -p ohne Probleme, die ich als temporäre Abhilfe benutze.


13
2017-10-15 10:34


Ursprung


Antworten:


war endlich in der Lage, es zum Laufen zu bringen -

editiere die /etc/mysql/my.cnf Datei und stellen Sie sicher, entweder

  • du hast bind-address = 0.0.0.0
  • oder Sie kommentieren die Zeile #bind-address ...

Stellen Sie sicher, dass Sie Ihren MySQL-Server nach der Änderung neu starten

$ sudo service mysql restart

Dann kannst du dich von deinem Host aus verbinden - also hatte ich zuerst einen Fehler wie

$ mysql -h127.0.0.1 -P 3309 -uroot -p
Enter password:
ERROR 1130 (HY000): Host '172.16.42.2' is not allowed to connect to this MySQL server

also kam ich zurück zum Gast und tat es

vagrant@precise64:~$ mysql -h127.0.0.1 -uroot -p
...
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.42.2' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

Dann hatte ich kein Problem, von der Host-Maschine zu verbinden

$ mysql -h127.0.0.1 -P 3309 -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 36
Server version: 5.5.44-0ubuntu0.12.04.1 (Ubuntu)

19
2017-10-16 14:02



Die erste Antwort ist richtig, aber nicht genug. Wenn ich MySQL verbinde, erhalte ich einen Fehler:

Host '10 .0.2.2 'darf sich nicht mit diesem MySQL-Server verbinden

Lösung:

Erstelle den Benutzer 'root'@'10.0.2.2' identifiziert durch 'password';

gewähren Sie alle Privilegien an . zu 'root'@'10.0.2.2' mit Gewährungsoption;

Flush-Privilegien;

Aha, alle Probleme sind gelöst,


2
2017-09-19 13:44