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

Detaillierter Code zum Hinzufügen von Electron zum Vue-Projekt

1. Fügen Sie package.json hinzu "Haupt"...

Drei Möglichkeiten zum Sperren und Entsperren von Benutzerkonten in Linux

Wenn in Ihrer Organisation bereits eine Kennwortr...

Eine kurze Diskussion zu this.$store.state.xx.xx in Vue

Inhaltsverzeichnis Sehen Sie sich dies an.$store....

So ändern Sie das Kennwort von mysql5.7.20 unter Linux CentOS 7.4

Nach dem Upgrade von MySQL auf Version 5.7 wurde ...

Tutorial zur Verwendung des Frameset-Tags in HTML

Frameset-Seiten unterscheiden sich etwas von norm...

Mehrere Techniken zum Abspielen von Sounds mit CSS

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

So implementieren Sie den Nginx-Reverse-Proxy für mehrere Server

Nginx verwendet mehrere Reverse-Proxy-Server, was...

Lösen Sie das Problem der Verwendung von weniger in Vue

1. Installieren Sie weniger Abhängigkeiten: npm i...

Verschachtelte Verwendungsoperation für MySQL-Aggregatfunktionen

Zweck: Verschachtelte Verwendung von MySQL-Aggreg...