Um MySQL etwas anderem als localhost auszusetzen, muss die folgende Zeile angezeigt werden
Für MySQL Version 5.6 und niedriger
nicht kommentiert /etc/mysql/my.cnf
und der IP-Adresse Ihres Computers zugewiesen und kein Loopback
Für MySQL Version 5.7 und höher
nicht kommentiert /etc/mysql/mysql.conf.d/mysqld.cnf
und der IP-Adresse Ihres Computers zugewiesen und kein Loopback
#Replace xxx with your IP Address
bind-address = xxx.xxx.xxx.xxx
Oder fügen Sie eine hinzu,
bind-address = 0.0.0.0
wenn Sie die IP nicht angeben möchten
Stoppen Sie dann MySQL und starten Sie es mit dem neuen Eintrag my.cnf neu. Gehen Sie nach dem Ausführen zum Terminal und geben Sie den folgenden Befehl ein.
lsof -i -P | grep :3306
Das sollte ungefähr so mit Ihrer tatsächlichen IP in den xxx zurückkommen
mysqld 1046 mysql 10u IPv4 5203 0t0 TCP xxx.xxx.xxx.xxx:3306 (LISTEN)
Wenn die obige Anweisung korrekt zurückgegeben wird, können Sie Remotebenutzer akzeptieren. Damit ein Remote-Benutzer jedoch eine Verbindung mit den richtigen Berechtigungen herstellen kann, muss dieser Benutzer sowohl im localhost als auch in '%' wie in erstellt werden.
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
dann,
GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';
und schlussendlich,
FLUSH PRIVILEGES;
EXIT;
Wenn Sie nicht denselben Benutzer wie oben erstellt haben, erben Sie bei der lokalen Anmeldung möglicherweise die lokalen Basishost-Berechtigungen und haben Zugriffsprobleme. Wenn Sie den Zugriff von myuser einschränken möchten, müssen Sie die Syntax der GRANT-Anweisung HIER nachlesen. Wenn Sie dies alles durchstehen und immer noch Probleme haben, veröffentlichen Sie einige zusätzliche Fehlerausgaben und die entsprechenden Zeilen von my.cnf.
HINWEIS: Wenn lsof nicht zurückkehrt oder nicht gefunden wird, können Sie es HIER basierend auf Ihrer Linux-Distribution installieren . Sie brauchen kein lsof, um die Dinge zum Laufen zu bringen, aber es ist äußerst praktisch, wenn die Dinge nicht wie erwartet funktionieren.