Ich versuche, einen MySQL-Benutzer zu erstellen, der nur von einem bestimmten Hostnamen aus eine Verbindung zur MySQL-Datenbank herstellen darf.
Gewähren Sie allen Einträgen in Datenbankname. * den Namen "Benutzername "@Appserver-LAN.Mydomain.com", der durch "some_passwd" gekennzeichnet ist.
Durch Überprüfen der Benutzertabelle in der MySQL-Datenbank kann ich feststellen, dass der Benutzer erfolgreich erstellt wurde:
benutze mysql; Wählen Sie * von Benutzer aus, wobei Benutzer = 'Benutzername' und Host = 'appserver-lan.meinedomain.com'
oder
Stipendien für 'Benutzername'@'appserver-lan.meinedomain.com' anzeigen
Der von mir angegebene Hostname ist ein Alias für einen amazon-ec2-Namen, der, wenn er von den AWS-DNS-Servern aufgelöst wird, zu einer LAN-Adresse führt:
[root @ db_server ~] # host appserver-lan.mydomain.com
appserver-lan.mydomain.com ist ein Alias für ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com hat die Adresse 10.xxx .xxx.xxx
Das Problem ist, dass beim Versuch, von diesem Anwendungsserver-LAN aus eine Verbindung zur Datenbank-LAN-IP herzustellen, der Zugriff verweigert wird, obwohl das Kennwort korrekt ist. Das Seltsame dabei ist, dass der in dem Fehler angezeigte Hostname nicht der Hostname ist, den ich beim Erstellen des Benutzers angegeben hatte:
FEHLER 1045 (28000): Zugriff für Benutzer 'Benutzername' @ ' Anwendungsserver.meinedomäne.com ' verweigert (mit Kennwort: JA)
Meine Frage lautet also: Wie ermittelt MySQL den Hostnamen des Clients? Ich glaube, dass dies bei einer umgekehrten DNS-Suche nicht der Fall ist, da ich dies überprüft habe und es weder auf "appserver.meinedomain.com" noch auf "appserver-lan.meinedomain.com" verweist. Darüber hinaus hat der Datenbankserver keine Einträge in Bezug auf den Anwendungsserver auf / etc / hosts.
Zusammenfassend bin ich mir ziemlich sicher, dass es sich um ein Problem mit der Auflösung von Hostnamen handelt, da das Gewähren von Berechtigungen für Host "%" oder für die LAN-IP gut funktioniert.
Irgendwelche Ideen, was mir fehlt?
host -t PTR 10.1.2.3
?