Ich habe MySQL Community Edition 5.5 auf meinem lokalen Rechner installiert und möchte Remote-Verbindungen zulassen, damit ich mich von externen Quellen aus verbinden kann.
Wie kann ich das machen?
Ich habe MySQL Community Edition 5.5 auf meinem lokalen Rechner installiert und möchte Remote-Verbindungen zulassen, damit ich mich von externen Quellen aus verbinden kann.
Wie kann ich das machen?
Bitte befolgen Sie die unten genannten Schritte, um den Remotezugriff für MySQL-Benutzer zu aktivieren.
(1) Öffnen Sie cmd.
(2) Navigieren Sie zum Pfad C:\Program Files\MySQL\MySQL Server 5.X\bin und führen Sie diesen Befehl aus.
mysql -u root -p
(3) Geben Sie das Root-Passwort ein.
(4) Führen Sie den folgenden Befehl aus, um die Berechtigung zu erteilen.
GRANT ALL PRIVILEGES ON *.* TO 'BENUTZERNAME'@'IP' IDENTIFIZIERT DURCH 'PASSWORT';
BENUTZERNAME: Benutzername, mit dem Sie sich mit dem MySQL-Server verbinden möchten.
IP: Öffentliche IP-Adresse, von der aus Sie den Zugriff auf den MySQL-Server zulassen möchten.
PASSWORT: Passwort des verwendeten Benutzernamens.
IP kann durch % ersetzt werden, um es Benutzern zu ermöglichen, sich von jeder IP-Adresse aus zu verbinden.
(5) Berechtigungen mit folgendem Befehl zurücksetzen und beenden.
FLUSH PRIVILEGES;
exit; or \q
Schließen Sie den Kommentar unter dem Link /etc/mysql/mysql.conf.d/mysqld.cnf oder /etc/mysql/my.cnf:
bind-adresse = 127.0.0.1 =>> #bind-adresse = 127.0.0.1
Ändern Sie den Hostnamen so, dass alle Maschinen darauf zugreifen können, führen Sie diesen SQL-Befehl lokal aus:
UPDATE mysql.user SET Host='%' WHERE Host='localhost' AND User='root';
FLUSH PRIVILEGES;
Dienst neu starten:
sudo service mysql restart
Port mysql öffnen:
sudo ufw allow 3306
Ich musste diese Herausforderung bei der Arbeit an einem Java-Projekt mit einem MySQL-Server als Datenbank bewältigen.
So habe ich es gemacht:
Bestätigen Sie zunächst, dass Ihre MySQL-Serverkonfiguration Remoteverbindungen zulässt. Verwenden Sie Ihren bevorzugten Texteditor, um die MySQL-Serverkonfigurationsdatei zu öffnen:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Scrollen Sie zu der bind-address-Zeile und stellen Sie sicher, dass sie entweder auskommentiert ist oder durch 0.0.0.0
(um alle Remoteverbindungen zuzulassen) oder durch IP-Adressen, von denen aus Sie Remoteverbindungen zulassen möchten, ersetzt wird.
Nachdem Sie die erforderlichen Änderungen vorgenommen haben, speichern Sie die Konfigurationsdatei und beenden Sie sie. Wenden Sie die vorgenommenen Änderungen auf die MySQL-Konfigurationsdatei an, indem Sie den MySQL-Dienst neu starten:
sudo systemctl restart mysql
Melden Sie sich als Nächstes in der MySQL-Serverkonsole auf dem Server an, auf dem er installiert wurde:
mysql -u root -p
Geben Sie Ihr MySQL-Benutzerpasswort ein
Überprüfen Sie die hosts, für die der Benutzer, dem Sie bereits Zugriff gewähren möchten, bereits Zugriff hat. In meinem Fall ist der Benutzer root
:
SELECT host FROM mysql.user WHERE user = "root";
Dies ergab folgende Ausgabe:
+-----------+
| host |
+-----------+
| localhost |
+-----------+
Daraufhin habe ich den folgenden Befehl ausgeführt, um dem Benutzer root
den Remotezugriff auf die Datenbank mit dem Namen my_database
zu gewähren:
USE my_database;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mein-passwort';
Hinweis: %
gewährt einem Benutzer Remotezugriff von allen Hosts in einem Netzwerk. Sie können die IP-Adresse der einzelnen Hosts angeben, von denen aus Sie dem Benutzer Zugriff gewähren möchten, mit dem Befehl - GRANT ALL PRIVILEGES ON *.* TO 'root'@'Ip-Adresse' IDENTIFIED BY 'mein-passwort';
Danach habe ich die hosts überprüft, auf die der Benutzer nun Zugriff hat. In meinem Fall ist der Benutzer root
:
SELECT host FROM mysql.user WHERE user = "root";
Dies ergab folgende Ausgabe:
+-----------+
| host |
+-----------+
| % |
| localhost |
+-----------+
Zuletzt können Sie versuchen, eine Verbindung zum MySQL-Server von einem anderen Server aus herzustellen, indem Sie den Befehl verwenden:
mysql -u benutzername -h mysql-server-ip-adresse -p
Wo u für Benutzer, h für mysql-server-ip-adresse und p für Passwort steht. In meinem Fall war es also:
mysql -u root -h 34.69.261.158 -p
Geben Sie Ihr MySQL-Benutzerpasswort ein
Je nach Ihrer MySQL-Serverversion sollten Sie diese Ausgabe erhalten:
Willkommen beim MySQL-Monitor. Befehle enden mit ; oder \g.
Ihre MySQL-Verbindungs-ID lautet 4
Serverversion: 5.7.31 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle und/oder seine Verbundenen. Alle Rechte vorbehalten.
Oracle ist eine eingetragene Marke von Oracle Corporation und/oder seinen
Verbundenen. Andere Namen können Marken ihrer jeweiligen
Inhaber sein.
Geben Sie 'help;' oder '\h' für Hilfe ein. Geben Sie '\c' ein, um die aktuelle Eingabe zu löschen.
mysql>
Ressourcen: Wie man Remoteverbindungen zu MySQL zulässt
Das ist alles.
Ich hoffe, das hilft
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.