Frage

Ich habe mit Vagrant eine neue VirtualBox-Maschine gemountet und in dieser VM Mysql Server installiert.Wie kann ich eine Verbindung zu diesem Server außerhalb der VM herstellen?Ich leite bereits den Port 3306 der Vagrantfile weiter, aber wenn ich versuche, eine Verbindung zum MySQL-Server herzustellen, wird erneut der Fehler angezeigt:„Lesen des ersten Kommunikationspakets“

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

Lösung

Stellen Sie sicher, dass MySQL an 0.0.0.0 und nicht an 127.0.0.1 bindet, da sonst von außerhalb des Computers nicht darauf zugegriffen werden kann

Sie können dies sicherstellen, indem Sie Ihre my.conf-Datei bearbeiten und nach suchen bind-address Artikel – so soll es aussehen bind-address = 0.0.0.0.Dann speichern Sie dies und starten Sie MySQL neu:

sudo service mysql restart

Wenn Sie dies auf einem Produktionsserver tun, sollten Sie sich der hier erläuterten Sicherheitsauswirkungen bewusst sein: https://serverfault.com/questions/257513/how-bad-is-setting-mysqls-bind-address-to-0-0-0-0

Andere Tipps

Melden Sie sich mit ssh vagrant@127.0.0.1 -p 2222 in Ihrem Feld an (Passwort Vagrant)

dann: sudo nano /etc/mysql/my.cnf und kommentieren Sie die folgenden Zeilen mit #

generasacodicetagpre.

Speichern Sie es und verlassen Sie

dann: sudo service mysql restart

Sie können dann über SSH an Ihren MySQL-Server herstellen.

Ich bin kürzlich auf dieses Thema gestoßen.Ich habe Puphet verwendet, um eine Konfiguration zu generieren.

Um eine Verbindung zu MySQL durch SSH herzustellen, funktionierte das Kennwort "Vagrant" nicht für mich, sondern musste sich über die SSH-Key-Datei authentifizieren.

Zum Verbinden mit MySQL-Workbench

Verbindungsmethode

standard tcp / ip über ssh

ssh

generasacodicetagpre.

mySQL

generasacodicetagpre.

testen Sie die Verbindung.

Für jeden, der versucht, dies mit MySQL Workbench oder Sequel Pro zu tun, sind dies die Eingänge:

generasacodicetagpre.

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

Nun, da keiner der gegebenen Antworten mir geholfen hat, musste ich mehr aussehen und fand Lösung in Dieser Artikel.

und die Antwort in einer Nussschale ist folgender:

Anschließen an MySQL mit MySQL Workbench

generasacodicetagpre.

Mit gegebenem Ansatz konnte ich mit MySQL-Datenbank in Vagrant aus dem Host Ubuntu-Computer mit MySQL-Workbench herstellen und auch das Valentina Studio verwenden.

Hier sind die Schritte, die bei mir funktioniert haben, nachdem ich mich in die Box eingeloggt habe:

Suchen Sie die MySQL-Konfigurationsdatei:

$ mysql --help | grep -A 1 "Default options"

Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf

Unter Ubuntu 16 lautet der Pfad normalerweise /etc/mysql/mysql.conf.d/mysqld.cnf

Konfigurationsdatei für bind-address ändern:

Falls vorhanden, ändern Sie den Wert wie folgt.Wenn es nicht existiert, fügen Sie es irgendwo im Abschnitt [mysqld] hinzu.

bind-address = 0.0.0.0

Speichern Sie Ihre Änderungen an der Konfigurationsdatei und starten Sie den MySQL-Dienst neu.

service mysql restart

Datenbankbenutzer Zugriff erstellen/gewähren:

Stellen Sie als Root-Benutzer eine Verbindung zur MySQL-Datenbank her und führen Sie die folgenden SQL-Befehle aus:

mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'password';

mysql> GRANT ALL PRIVILEGES ON mydb.* TO 'username'@'%';

Dies funktionierte für mich: Verbinden Sie sich mit MySQL in Vagrant

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top