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

Vue + Element + OSS realisiert das Hochladen von Front-End-Fragmenten und die Wiederaufnahme von Haltepunkten

Reine Front-End-Implementierung:切片上傳斷點續傳.斷點續傳muss...

Allgemeine JavaScript-Anweisungen: Schleife, Beurteilung, Zeichenfolge in Zahl

Inhaltsverzeichnis 1. Schalter 2. While-Schleife ...

Eine kurze Analyse von MySQL-Verbindungen und -Sammlungen

Join-Abfrage Eine Join-Abfrage bezieht sich auf e...

XHTML-Tutorial für den Einstieg: Formular-Tags

<br />Formulare sind für Benutzer ein wichti...

MySQL extrahiert interne JSON-Felder und gibt sie als Zahlen aus.

Inhaltsverzeichnis Hintergrund Problemanalyse 1. ...

Detaillierte Erklärung der Socket (TCP)-Bindung aus dem Linux-Quellcode

Inhaltsverzeichnis 1. Ein einfachstes serverseiti...

MySQL sql_mode-Analyse und Einstellungserklärung

Beim Einfügen eines Datensatzes in die MySQL-Date...

So verhindern Sie, dass Flash HTML-Div-Elemente abdeckt

Als ich heute einen Flash-Werbecode schrieb, habe ...

js realisiert die Bildschneidefunktion

In diesem Artikelbeispiel wird der spezifische Co...