Gründe und Lösungen für die fehlende Remote-Verbindung zur MySQL-Datenbank unter CentOS7

Gründe und Lösungen für die fehlende Remote-Verbindung zur MySQL-Datenbank unter CentOS7

Vorwort

Ich bin kürzlich bei der Arbeit auf ein Problem gestoßen. Ich stellte fest, dass ich unter dem Centos7-System keine Remoteverbindung zu MySQL herstellen konnte. Ich habe das Problem schließlich gelöst, indem ich nach relevanten Informationen gesucht habe. Die folgende Methode habe ich ausprobiert, nachdem ich auf das Problem gestoßen bin, dass ich keine Remoteverbindung zur Mysql-Datenbank herstellen konnte, und das hat das Problem schließlich gelöst. Ich fasse es also zusammen und teile es als Referenz und zum Lernen für Freunde, die auf das gleiche Problem stoßen. Ich werde unten nicht viel sagen, schauen wir uns die ausführliche Einführung an.

Es gibt zwei Gründe

  • Die Datenbank ist nicht autorisiert
  • Die Server-Firewall öffnet Port 3306 nicht

1. Die Datenbank ist nicht autorisiert

Eine Autorisierung für die MySQL-Datenbank erfolgt nicht, daher genügt ein einziger Befehl.

mysql>GEWÄHREN SIE ALLE PRIVILEGIEN FÜR *.* AN 'root'@'%', IDENTIFIZIERT DURCH '123456', MIT GRANT-OPTION;


//Wenn Sie eine Remoteverbindung zur Datenbank herstellen, müssen Sie den Benutzernamen und das Kennwort eingeben. Benutzername: root
Passwort:123456
Zeigen Sie auf ip:%, um alle IPs darzustellen. Sie können hier auch IP eingeben, um die IP anzugeben.

Damit die Änderungen wirksam werden, benötigen Sie zusätzlich die Anweisung mysql>FLUSH PRIVILEGES;

2. Die Server-Firewall öffnet Port 3306 nicht

CentOS hat zwei Firewalls: FirewallD und iptables Firewall

centos7 verwendet die FirewallD-Firewall.

FirewallD ist ein Front-End-Controller für iptables, der dauerhafte Netzwerkverkehrsregeln implementiert. Es bietet sowohl Befehlszeilen- als auch grafische Schnittstellen und ist in den Repositories der meisten Linux-Distributionen verfügbar. Es gibt zwei Hauptunterschiede zwischen der Verwendung von FirewallD und der direkten Steuerung von iptables:

1. FirewallD verwendet Zonen und Dienste anstelle von verketteten Regeln.

2. Es verwaltet Regelsätze dynamisch und ermöglicht die Aktualisierung von Regeln, ohne bestehende Sitzungen und Verbindungen zu unterbrechen.

FirewallD ist ein Wrapper um iptables, der Ihnen die einfachere Verwaltung von iptables-Regeln ermöglicht – es ist kein Ersatz für iptables. Obwohl iptables-Befehle weiterhin mit FirewallD verwendet werden können, wird empfohlen, bei Verwendung von FirewallD nur FirewallD-Befehle zu verwenden.

1. Öffnen Sie Port 3306 auf FirewallD

 Firewall-Befehl --zone=public --add-port=3306/tcp --permanent

Bedeutung des Befehls:

--zone #scope --add-port=3306/tcp #Port hinzufügen, Format: Port/Kommunikationsprotokoll --permanent #Permanent, ohne diesen Parameter ist es nach dem Neustart ungültig

Starten Sie die Firewall neu

systemctl restart firewalld.service

2.iptables-Entwicklungsport 3306

/sbin/iptables -I INPUT -p tcp -dport 3306 -j ACCEPT

/etc/rc.d/init.d/iptables speichern

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Detaillierte Schritte zur Installation von MYSQL8.0 auf CentOS7.6
  • Tutorial zur Installation von MySQL 5.7.28 auf CentOS 6.2 (MySQL-Hinweise)
  • MySQL 8.0.16 Installations- und Konfigurations-Tutorial unter CentOS7
  • Detailliertes Tutorial zur Installation von MySQL 8.0.13 (rpm) auf Centos7
  • CentOS7 verwendet yum zur Installation von MySQL 8.0.12
  • Detaillierte Schritte zur Installation und Konfiguration von MySQL 8.0 auf CentOS
  • CentOS7-Installations-GUI-Schnittstelle und Implementierung der Remote-Verbindung
  • Tutorial zur Installation von MySql5.7 in CentOS7.2 und zur Aktivierung der Remote-Verbindungsautorisierung
  • So installieren Sie MySql in CentOS 8 und erlauben Remoteverbindungen

<<:  Detaillierte Erklärung, wie CocosCreator-Systemereignisse generiert und ausgelöst werden

>>:  Führen Sie die Schritte zur Installation von FFmpeg auf dem CentOS-Server aus

Artikel empfehlen

Implementierungsbeispiel zum Schließen der Browserabmeldung in Vue

Inhaltsverzeichnis 1. beforeunload-Ereignis 2. Er...

Mehrere Techniken zum Abspielen von Sounds mit CSS

CSS ist der Bereich von Stil, Layout und Präsenta...

Verwenden Sie den Befehl sed, um die kv-Konfigurationsdatei in Linux zu ändern

sed ist ein Zeichenstromeditor unter Unix, also e...

Beispiel für das Einrichten einer Whitelist in Nginx mithilfe des Geomoduls

Ursprüngliche Konfiguration: http { ...... Verbin...

Zusammenfassung von 28 gängigen JavaScript-String-Methoden und Verwendungstipps

Inhaltsverzeichnis Vorwort 1. Ermitteln Sie die L...

Detailliertes Tutorial zur Tomcat-Installation und -Bereitstellung in Windows 10

Inhaltsverzeichnis 1 Konfiguration der Java-Umgeb...

MYSQL METADATA LOCK (MDL LOCK) Theorie und Sperrtyptest

Inhaltsverzeichnis MYSQL METADATA LOCK (MDL LOCK)...

So kapseln Sie die Rich-Text-Komponente von WangEditor in Angular

Die Rich-Text-Komponente ist eine sehr häufig ver...

Zwei Möglichkeiten, den 30-Sekunden-Werbecode aus dem Youku-Video zu entfernen

Ich glaube, jeder kennt dieses Gefühl: Ein Video m...

Einführung in verschiedene Möglichkeiten zur Einführung von CSS in HTML

Inhaltsverzeichnis 1. CSS-Stile direkt in HTML-Ta...

Zusammenfassung der vier Klick-Antwortmethoden von Button

Button wird ziemlich oft verwendet. Hier habe ich...