Ich habe eine neue VirtualBox-Maschine mit Vagrant gemountet und in dieser VM MySQL Server installiert. Wie kann ich eine Verbindung zu diesem Server außerhalb der VM herstellen? Ich leite den Port 3306 der Vagrant-Datei bereits weiter, aber wenn ich versuche, eine Verbindung zum MySQL-Server herzustellen, wird erneut der Fehler angezeigt: "Erstes Kommunikationspaket lesen".
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
mysql
virtualbox
vagrant
Rizidoro
quelle
quelle
Antworten:
Stellen Sie sicher, dass MySQL an 0.0.0.0 und nicht an 127.0.0.1 gebunden ist. Andernfalls kann von außerhalb des Computers nicht darauf zugegriffen werden
Sie können dies sicherstellen, indem Sie Ihre my.conf-Datei bearbeiten und nach dem
bind-address
Element suchen - Sie möchten, dass es so aussiehtbind-address = 0.0.0.0
. Speichern Sie dies und starten Sie mysql neu:Wenn Sie dies auf einem Produktionsserver tun, möchten Sie sich der Auswirkungen auf die Sicherheit bewusst sein, die hier erläutert werden: /server/257513/how-bad-is-setting-mysqls-bind-address-to -0-0-0-0
quelle
sed -i 's/symbolic-links=0/symbolic-links=0\nbind-address=0.0.0.0/g' /etc/my.cnf
bind-address
ZeileHost '10.0.2.2' is not allowed to connect to this MySQL server
. Aber gelöst mit serverfault.com/a/486716/147813mysql -e "create user 'root'@'10.0.2.2' identified by 'vagrant'; grant all privileges on *.* to 'root'@'10.0.2.2' with grant option; flush privileges;"
Melden Sie sich mit
ssh [email protected] -p 2222
(Passwort vagrant) in Ihrer Box an.Dann:
sudo nano /etc/mysql/my.cnf
und kommentieren Sie die folgenden Zeilen mit # ausSpeichern Sie es und beenden Sie es
dann:
sudo service mysql restart
Anschließend können Sie über SSH eine Verbindung zu Ihrem MySQL-Server herstellen.
quelle
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
# skip-external-locking
Ich habe es gelöst!Ich bin kürzlich auf dieses Problem gestoßen. Ich habe PuPHPet verwendet, um eine Konfiguration zu generieren.
Um über SSH eine Verbindung zu MySQL herzustellen, funktionierte das "vagabundierende" Passwort bei mir nicht, stattdessen musste ich mich über die SSH-Schlüsseldatei authentifizieren.
So stellen Sie eine Verbindung mit MySQL Workbench her
Verbindungsmethode
Standard TCP / IP über SSH
SSH
MySQL
Testen Sie die Verbindung.
quelle
Für alle, die dies mit MySQL Workbench oder Sequel Pro versuchen, sind dies die Eingaben:
Quelle: https://coderwall.com/p/yzwqvg
quelle
vagrant ssh-config
Befehl abrufen .Nun, da mir keine der Antworten geholfen hat, musste ich mehr suchen und fand in diesem Artikel eine Lösung .
Und die Antwort auf den Punkt gebracht lautet wie folgt:
Herstellen einer Verbindung zu MySQL mithilfe der MySQL Workbench
Mit einem bestimmten Ansatz konnte ich mit MySQL Workbench und Valentina Studio vom Host-Ubuntu-Computer aus eine Verbindung zur MySQL-Datenbank herstellen.
quelle
$HOME/project/.vagrant/machines/default/virtualbox/private_key
in Ubuntu 14.04vagrant ssh-config
Befehl abrufen .Hier sind die Schritte, die für mich nach dem Anmelden in der Box funktioniert haben:
Suchen Sie die MySQL-Konfigurationsdatei:
Unter Ubuntu 16 ist der Pfad normalerweise
/etc/mysql/mysql.conf.d/mysqld.cnf
Konfigurationsdatei für Bindungsadresse ändern:
Wenn es existiert, ändern Sie den Wert wie folgt. Wenn es nicht vorhanden ist, fügen Sie es an einer beliebigen Stelle im Abschnitt [mysqld] hinzu.
Speichern Sie Ihre Änderungen in der Konfigurationsdatei und starten Sie den MySQL-Dienst neu.
Erstellen / Gewähren des Zugriffs für Datenbankbenutzer:
Stellen Sie als Root-Benutzer eine Verbindung zur MySQL-Datenbank her und führen Sie die folgenden SQL-Befehle aus:
quelle
Das hat bei mir funktioniert: Stellen Sie in Vagrant eine Verbindung zu MySQL her
quelle