Ich habe MySQL Master / Slave-Setup und die folgenden Warnungen in den MySQL-Protokolldateien auf beiden Servern festgestellt:
[Warning] IP address 'xxx.xxx.xxx.xxx' could not be resolved: Name or service not known
Ich habe überprüft und die DNS-Suche funktioniert einwandfrei und die meisten dieser IPs sind aus China.
Ich plane, den Zugriff auf Port 3306 der Firewall einzuschränken. Bitte helfen Sie mir zu verstehen, was sie versuchen. Versuchen sie nur, eine Verbindung zum MySQL-Server herzustellen? Wo ich nach weiteren Details suchen kann.
Vielen Dank
localhost
wird MySQL trotzdem die Vorwärtssuche durchführenlocalhost
, um sicherzustellen, dass sie mit der ursprünglichen IP-Adresse übereinstimmt. Vertrauen Sie mir jedoch, wie bei allem, was mit Sicherheit zu tun hat, nicht nur in dieser Angelegenheit. Und es ist immer noch besser, die Namensauflösung in Ihrer Konfiguration zu deaktivieren.Ich halte es für eine sehr, sehr schlechte Idee, Ihre Datenbankserver direkt im Internet verfügbar zu machen.
Wenn Sie auf einen Remote-Host replizieren und dazu einen Internetzugang benötigen, sollten Sie ein VPN zwischen den beiden Netzwerken einrichten und Ihre MySQL-Server so binden, dass sie nur das lokale Netzwerk überwachen.
Wenn sich beide Hosts im selben lokalen Netzwerk befinden, können Sie Ihre MySQL-Server sicher an dieses Netzwerk binden.
quelle
Ich bin auch auf Amazon RDS davon überrascht worden. Ich wollte nur eine Verbindung zu meiner Testdatenbankinstanz herstellen (Folgendes wird für Produktionsdatenbanken definitiv nicht empfohlen ):
Die Sicherheitsgruppen in Amazon RDS funktionieren etwas anders als die normalen Firewall-Regeln für die EC2-Instanzen. Wenn Sie den MySQL-Port für die bestimmte IP öffnen, muss die IP von Ihrem MySQL-Server erkannt werden. Wenn nicht, wird die Verbindung abgelehnt. Die vorübergehende Lösung besteht darin, eine neue Sicherheitsgruppe zu erstellen, dh
anyone_can_connect_to_mysql
mit nur einem Element - erlauben Sie die eingehende Verbindung von MySQL / Aurora aus dem Internet und hängen Sie diese Sicherheitsgruppe an Ihre Datenbank an.Dadurch wird die IP-Überprüfung von Clientverbindungen entfernt, sodass Sie eine Verbindung herstellen können. Vergessen Sie nicht, die
anyone_can_connect_to_mysql
Richtlinie von der Datenbank zu trennen, sobald die Auflösungsprobleme behoben sind.quelle
Beim Herstellen einer Remoteverbindung zu MySQL ist ein Fehler aufgetreten. Ich hatte diese Warnung in
/var/log/mysqld.log
:Ich habe gerade diese Zeile zur
/etc/hosts
Datei hinzugefügt :Problem gelöst! Ohne Verwendung
skip-name-resolve
verursachte es einige Fehler in meiner lokalen App, wenn ich eine Verbindung zu MySQL herstellte.quelle