Lösung für das Problem, dass Navicat keine Remoteverbindung zum MySql-Server herstellen kann

Lösung für das Problem, dass Navicat keine Remoteverbindung zum MySql-Server herstellen kann

Die Lösung für das Problem, dass Navicat keine Remoteverbindung zum MySql-Server herstellen kann, steht vorne:

Betriebssystem: Gewinnergebot für Kylin 4.0;
Datenbank: MySQL 5.7.26;
JDK: Verwenden Sie das OpenJDK, das mit dem Kylin-System geliefert wird.
Client-Tool: Navicat;

Voraussetzungen:
Der MySQL-Dienst ist installiert;

Szene:

Nach der Installation von MySQL ist der lokale Zugriff normal, aber Maschinen im selben LAN können nicht auf die MySQL-Datenbank auf dem Server zugreifen.

Grund:

Standardmäßig kann von einem Remote-Rechner aus nicht auf MySQL zugegriffen werden. Nur lokaler Zugriff ist zulässig. Der Remote-Zugriff kann durch die folgende Konfiguration aktiviert werden:

Ideen zur Fehlerbehebung:

Die Remote-Zugriffseinstellungen von MySQL werden hauptsächlich unter den folgenden drei Gesichtspunkten getestet: Erstens, überprüfen Sie das Netzwerk. Die beiden Computer müssen sich gegenseitig anpingen können, was die Grundlage darstellt; zweitens, überprüfen Sie Port 3306. Auf den Port darf nur der lokale Computer zugreifen. Es gibt zwei Stellen, um ihn zu aktivieren. Erstens, konfigurieren Sie MySQL so, dass es die Adresse des lokalen Computers bindet, und zweitens, aktivieren Sie 3306 in der Firewall; drittens, die Frage nach den MySQL-Benutzerzugriffsrechten.

Überprüfen Sie nacheinander die Ideen

1. Netzwerkerkennung:

Pingen Sie die IP-Adresse des Hosts an, auf dem sich MySQL befindet, um zu sehen, ob ein Ping möglich ist. Wenn ein Ping möglich ist, liegt das Problem nicht am Netzwerk.
Ich kann es anpingen, was bedeutet, dass es kein Netzwerkproblem ist.

2. Porterkennung:

Port 3306 erkennen:
netstat -ntpl | grep 3306, wie in der Abbildung gezeigt:

Bildbeschreibung hier einfügen

Überprüfen Sie Port 22:
netstat -ntpl | grep 22, wie in der Abbildung gezeigt:

Bildbeschreibung hier einfügen

Aus dem Obigen können wir ersehen, dass Port 22 alle Adressen abhört, während Port 3306 nur die lokale Adresse abhört und daher nicht remote darauf zugegriffen werden kann. Für Ports, die nur lokalen Zugriff erlauben, gibt es zwei Möglichkeiten, diesen zu aktivieren: Zum einen muss 3306 in der Firewall aktiviert werden, zum anderen muss MySQL so konfiguriert werden, dass es an die lokale Adresse gebunden wird. Wir haben also das Problem festgestellt, dass Navicat keine Verbindung zum Remote-MySQL herstellen kann. Wir müssen nur den Remote-Zugriff auf Port 3306 zulassen.

Lösung:
Im Allgemeinen müssen wir nur die Konfigurationsdatei /etc/mysql/my.cnf ändern, bind-address=127.0.0.1 in der Konfigurationsdatei my.cnf in bind-address=0.0.0.0 ändern und skip-networking auskommentieren.

In meiner Konfigurationsdatei my.cnf fehlten jedoch die Codezeilen bind-address=127.0.0.1 und skip-networking, also habe ich die Codezeile bind-address=0.0.0.0 selbst hinzugefügt, in der Annahme, dass es funktionieren würde. Nach dem Neustart des Systems stellte sich heraus, dass es nutzlos war! ! ! Ich überprüfte Port 3306 erneut und stellte fest, dass dieser immer noch nur lokalen Zugriff erlaubte. Gerade als ich verwirrt war, fiel mir ein Kommentar in der Konfigurationsdatei auf. Hier gab es eine Überraschung, und das Problem konnte sofort behoben werden. > . <

Dann schauen wir uns die Konfigurationsdatei /etc/mysql/my.cnf an und finden einen Satz, wie in der Abbildung gezeigt:

Bildbeschreibung hier einfügen

„Importieren Sie alle Dateien mit der Endung .cnf aus dem folgenden Konfigurationsverzeichnis“, wow, haben Sie das Gefühl, Ihnen ist plötzlich etwas klar geworden? Das heißt, die Zeile „address=127.0.0.1“ ist nicht in der Konfigurationsdatei my.cnf konfiguriert, kann aber in einer der Konfigurationsdateien in diesen beiden Verzeichnissen konfiguriert sein. Suchen wir also danach. Wir müssen die Codezeile „address=127.0.0.1“ sowieso finden.

Gehen Sie zuerst in das erste Verzeichnis: /etc/mysql/conf.d und sehen Sie sich die Datei cnf.d an, wie in der Abbildung gezeigt:

Bildbeschreibung hier einfügen

Es gibt keine „Adresse=127.0.0.1“;

Gehen Sie zum zweiten Verzeichnis: /etc/mysql/mariadb.conf.d/ und stellen Sie fest, dass es 5 Dateien mit der Endung .cnf gibt, nämlich: 50-client.cnf, 50-mysql-clients.cnf, 50-mysqld_safe.cnf, 50-server.cnf, my.cnf, wie in der Abbildung gezeigt:

Bildbeschreibung hier einfügen

Benutzen Sie Ihren Verstand zum Raten, dann wissen Sie auch, welche Datei Sie sich ansehen müssen. Ja, ich habe die Datei „50-server.cnf“ gesperrt und als ich hineingeschaut habe, habe ich die Codezeile „address=127.0.0.1“ gefunden. Ich habe sie in „address=0.0.0.0“ geändert, wie in der Abbildung gezeigt:

Bildbeschreibung hier einfügen

Starten Sie dann den Computer neu (beachten Sie, dass Sie hier den Computer neu starten müssen, ein Neustart von MySQL ist nutzlos, ein Neustart von MySQL ist für mich nutzlos) und überprüfen Sie dann den Port wie folgt:

Bildbeschreibung hier einfügen

Bist du zufrieden? Ich habe es endlich behoben. Ich muss mich über MySQL beschweren. Wir sollten uns nicht nur die Konfiguration in der Konfigurationsdatei ansehen, sondern auch die Kommentare in der Konfigurationsdatei nicht ignorieren. Wow, ich bin überzeugt~~ Ich habe meine Lektion gelernt!

Der Schritt zur Porterkennung ist jedoch noch nicht abgeschlossen. Wir haben die MySQL-Konfigurationsdatei überprüft und müssen noch eine weitere Sache prüfen: ob der Firewall-Port 3306 geöffnet ist.

Firewall-Erkennung:
Ansicht: iptable --list
Ich habe nachgesehen und festgestellt, dass meine Firewall nicht eingeschaltet ist. Wenn eine Firewall vorhanden ist, müssen Sie Port 3306 der Firewall einschalten oder einfach die Firewall ausschalten.

Bisher gibt es kein Problem mit der Erkennung von Port 3306.

3.MySQL-Benutzerzugriffsrechte:

Rufen Sie die MySQL-Datenbank auf: mysql -uroot -p
benutze MySQL;
Benutzerzugriffsrechte abfragen:
select host, user aus user; wie in der Abbildung gezeigt:

Bildbeschreibung hier einfügen

Beim Erstellen eines Benutzers in MySQL wird ein Host angegeben. Der Standardwert ist 127.0.0.1 (localhost), auf den nur der lokale Computer zugreifen kann. Wenn andere Computer über dieses Benutzerkonto zugreifen, werden sie darauf hingewiesen, dass sie keine Berechtigung haben. Ändern Sie den Host in „%“, um allen Computern den Zugriff zu ermöglichen. (Ich habe es geändert, um allen Maschinen den Zugriff zu ermöglichen)
Die geänderte Anweisung lautet: grant all on . to 'root'@'%' identified by 'root用戶的密碼' with grant option;
flush privileges;

Beachten Sie auch, dass Sie „überzählige Benutzer“ löschen müssen. Ich hatte beispielsweise früher zwei Root-Benutzer, und zwar wie folgt:
Benutzerhost
Wurzel %
Wurzel 127.0.0.1
Um zu diesem Zeitpunkt Fehler zu vermeiden, können Sie den Root-Benutzer von 127.0.0.1 löschen (ich bin hier in die Grube gefallen. Ich bin in diese Grube gefallen, als ich das Passwort geändert habe. Ich habe das Passwort von %root geändert. Daher habe ich mich immer wieder mit dem Root von 127.0.0.1 angemeldet und konnte mich nicht anmelden,,,);

Zusammenfassen

Zusammenfassend lässt sich sagen, dass das Problem der Einrichtung des Fernzugriffs auf MySQL gelöst wurde. Zusammenfassend lässt sich sagen, dass die Einrichtung des Fernzugriffs auf MySQL hauptsächlich anhand der folgenden drei Aspekte erkannt wird: Erstens: Überprüfen Sie das Netzwerk. Die beiden Computer müssen sich gegenseitig anpingen können, was die Grundlage darstellt. Zweitens: Erkennen Sie Port 3306. Für den Port ist nur lokaler Zugriff zulässig. Es gibt zwei Stellen, um ihn zu aktivieren. Erstens: Konfigurieren Sie MySQL so, dass es an die lokale Adresse gebunden wird (ändern Sie die MySQL-Konfigurationsdatei (freundliche Erinnerung: es ist nicht unbedingt my.cnf ~ lesen Sie den Inhalt der Konfigurationsdatei sorgfältig durch ~) bind-address=0.0.0.0), und zweitens: Aktivieren Sie 3306 in der Firewall (erkennen Sie die Firewall). Drittens: Das Problem der MySQL-Benutzerzugriffsrechte.

Dies ist eine Grube, in die ich schon einmal getappt bin, und ich denke, es ist erwähnenswert. Die sogenannte Erfahrung ist nichts anderes, als in mehr Gruben zu treten, auf mehr Probleme zu stoßen und diese dann zu lösen und aus den Gruben herauszuspringen. Dann wirst du Erfahrung haben. Sammle Erfahrung, beginne mit jeder Grube, in die du getreten bist, und verbessere dich dann ständig. Komm schon!

Dies ist das Ende dieses Artikels zur Lösung des Problems, dass Navicat keine Remoteverbindung zum MySql-Server herstellen kann. Weitere Informationen zum Problem, dass Navicat keine Remoteverbindung zum MySql-Server herstellen kann, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Beheben Sie das Problem, dass Navicat keine Verbindung zum MySQL-Server im Centos-System in VMware herstellen kann
  • Perfekte Lösung für das Problem, dass Navicat nach der Installation von MySQL im Docker keine Verbindung herstellen kann
  • Über das Problem der langsamen Verbindung von Navicat zur MySql-Datenbank
  • Detailliertes Tutorial zur Registrierung und Aktivierung von Navicat für MySQL 15
  • So stellen Sie mit Navicat Premium eine Remoteverbindung zur MySQL-Datenbank her
  • Beheben Sie das Problem des Fehlers 10038 bei der Remoteverbindung mit MySQL in Navicat
  • Navicat für MySQL 11 Registrierungscode\Aktivierungscode-Zusammenfassung
  • Detaillierte Erklärung der langsamen Remote-Verbindung von Navicat zu MySQL
  • Navicat Premium betreibt MySQL-Datenbank (führt SQL-Anweisungen aus)
  • Häufige Fehler und Lösungen zum Verbinden von Navicat mit einer virtuellen MySQL-Maschine
  • Wenn Navicat Premium eine Verbindung zur Datenbank herstellt, wird die Fehlermeldung „2003 Verbindung zum MySQL-Server auf „localhost“ nicht möglich (10061)“ angezeigt.
  • Detaillierte Erklärung zum Erstellen geplanter MySql-Aufgaben in Navicat
  • So verwenden Sie Navicat zum Bedienen von MySQL

<<:  Lösen Sie schnell das Problem der chinesischen Eingabemethode unter Linux

>>:  Vue ermöglicht das Hinzufügen von Wasserzeichen zu hochgeladenen Bildern (aktualisierte Version)

Artikel empfehlen

js, um einen Karusselleffekt zu erzeugen

Ich denke, das Karussell ist ein relativ wichtige...

Semantik: Ist HTML/XHTML wirklich standardkonform?

<br />Originaltext: http://jorux.com/archive...

Erläuterung der neuen Funktion von Hadoop 2.X, der Papierkorbfunktion

Durch Aktivieren der Papierkorbfunktion können Si...

Zusammenfassung einiger gängiger Konfigurationen und Techniken von Nginx

Vorwort Dieser Artikel listet mehrere gängige, pr...

Ein Beispiel, wie JavaScript doppelte Netzwerkanforderungen verhindern kann

Vorwort Während der Entwicklung stoßen wir häufig...

Analyse impliziter Fehler bei der gleichzeitigen Replikation von MySQL 5.7

Vorwort Die meisten unserer MySQL-Onlineumgebunge...

Vue ElementUI Form-Formularvalidierung

Die Formularvalidierung ist eine der am häufigste...

CSS-Position feste linke und rechte Doppelpositionierungs-Implementierungscode

CSS-Position Das Positionsattribut gibt den Posit...

Der Unterschied zwischen ${param} und #{param} in MySQL

Der von ${param} übergebene Parameter wird als Te...