Lösung für den Fehler der Remoteverbindung zur MySQL-Datenbank in der Linux-Konfiguration

Lösung für den Fehler der Remoteverbindung zur MySQL-Datenbank in der Linux-Konfiguration

Heute habe ich eine Frage zur Konfiguration einer MySQL-Datenbank unter Linux für den Fernzugriff. Baidu bietet dazu viele Informationen, aber die Methoden sind dieselben. Ich habe sie alle ausprobiert, konnte sie aber nicht lösen. Ich werde sie hier aufzeichnen.

Schritt 1: Suchen Sie die Bind-Adresse = 127.0.0.1 in /etc/mysql/my.cnf

Fügen Sie vor dieser Zeile ein "#" hinzu, um sie auszukommentieren, oder ändern Sie sie in: bind-address = 0.0.0.0

Erlauben Sie den Zugriff jeder beliebigen IP-Adresse oder geben Sie die IP-Adresse an, auf die Sie remote zugreifen müssen.

Starten Sie dann MySQL neu: sudo /etc/init.d/mysql restart

Schritt 2: Autorisieren Sie Benutzer zur Remoteverbindung

Gewähren Sie root@"%", identifiziert durch "Passwort", mit der Gewährungsoption alle Berechtigungen für *.*.
 Berechtigungen leeren;

Die erste Befehlszeile wird wie folgt erklärt: *.*: Das erste * steht für den Datenbanknamen, das zweite * für den Tabellennamen. Dies bedeutet, dass alle Tabellen in allen Datenbanken für den Benutzer autorisiert sind. Wenn Sie nur eine bestimmte Datenbank oder eine Tabelle unter einer Datenbank autorisieren möchten, ersetzen Sie * durch den Datenbanknamen und die Tabelle, die Sie benötigen. root: Gewähren Sie das Root-Konto. „%“: Zeigt an, dass die autorisierte Benutzer-IP angegeben werden kann, was bedeutet, dass jede IP-Adresse auf die MySQL-Datenbank zugreifen kann. „Passwort“: das dem zugewiesenen Konto entsprechende Passwort. Ersetzen Sie das Passwort durch das Passwort Ihres Root-Kontos.

Die zweite Befehlszeile aktualisiert die Berechtigungsinformationen, sodass die von uns festgelegten Berechtigungen sofort wirksam werden.

Aber am Ende ist immer noch kein Zugriff möglich. Derzeit liegt möglicherweise ein Problem mit der Firewall und MySQL-Port 3306 vor.

Ich habe den Befehl netstar -a verwendet, um alle Ports abzufragen, aber Port 3306 wurde nicht angezeigt. Ich habe den Befehl nerstat -an|grep 3306 verwendet, aber es wurde nichts angezeigt. Das bedeutet, dass Port 3306 nicht existiert.

Melden Sie sich bei der Alibaba Cloud-Konsole an, fügen Sie der Cloud-Service-Sicherheitsgruppe eine neue Regel hinzu, klonen Sie eine Regel und ändern Sie die Portnummer von MySQL auf 3306. Die Remote-Verbindung schlägt dennoch erneut fehl.

Zu diesem Zeitpunkt muss die Konsole das System neu starten, damit die neu hinzugefügten Regeln wirksam werden. Nach dem Neustart schlägt die Verbindung immer noch fehl. Zu diesem Zeitpunkt gibt die lokale Navicat-Softwareverbindung einen Zugriffsverweigerungsfehler zurück, statt des vorherigen Verbindungsfehlers.

Führen Sie jetzt den zweiten Schritt oben aus, um den Benutzerbefehl erneut zu autorisieren. Nach dem Neustart von Apache MySQL ist die Verbindung schließlich erfolgreich.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Tutorial zur Installation von JDK Tomcat MySQL unter Linux (Fernzugriff über Mac)
  • So aktivieren Sie die MySQL-Remoteverbindung auf einem Linux-Server
  • So stellen Sie unter Linux eine Remoteverbindung zu einer MySQL-Datenbank her
  • Tutorial zur Remote-Verbindung mit einer MySQL-Datenbank unter Linux
  • Linux-Plattform MySQL ermöglicht Remote-Login
  • Aktivieren Sie Remote-Zugriffsrechte für MySQL unter Linux und öffnen Sie Port 3306 in der Firewall
  • Lösung für das Problem, dass auf die MySQL-Datenbank auf der Linux-Seite der virtuellen Maschine nicht remote zugegriffen werden kann
  • So installieren und richten Sie den Linux-MySQL-Befehl ein, um eine Remote-Verbindung zu ermöglichen
  • MySQL 5.7-Bereitstellung und Remotezugriffskonfiguration unter Linux

<<:  Verwenden Sie Javascript, um ein Sliding-Nav-Navigations-Plugin mit Gleitbalkeneffekt zu entwickeln

>>:  So erstellen Sie mit Squid einen Proxyserver für http und https

Artikel empfehlen

Flammenanimation mit CSS3 umgesetzt

Ergebnisse erzielen Implementierungscode html <...

So entwickeln Sie Uniapp mit vscode

Da ich immer vscode zur Entwicklung von Front-End...

Zusammenfassung der DTD-Verwendung in HTML

DTD ist ein Satz grammatikalischer Regeln zur Ausz...

Implementierung von JavaScript zum Herunterladen und Hochladen verknüpfter Bilder

Da wir Bilder hochladen möchten, müssen wir zunäc...

So verwenden Sie Docker zum Bereitstellen eines Dubbo-Projekts

1. Verwenden Sie zunächst Springboot, um ein einf...

Mehrere wichtige MySQL-Variablen

Es gibt viele MySQL-Variablen, von denen einige u...

Detaillierte Erläuterung des Beispiels der Caching-Methode von Vue

Kürzlich wurde die neue Anforderung „Front-End-Ca...

CSS3-Implementierungsbeispiel zum Drehen nur des Hintergrundbildes um 180 Grad

1. Mentale Reise Als ich kürzlich das Cockpit sch...

Beispiel zum Erstellen eines Datenbanknamens mit Sonderzeichen in MySQL

Vorwort In diesem Artikel wird erklärt, wie Sie i...

Vue3.0 verwendet das Plug-In vue-grid-layout, um Drag-Layout zu implementieren

Inhaltsverzeichnis 1. Plugins 2. Zwischenspiel 3....