Mysql
 sql >> Base de données >  >> RDS >> Mysql

Plusieurs noms d'hôte et plusieurs privilèges ?

Au moment où mysql reçoit la connexion, tout ce qu'il a pour identifier le système distant est l'adresse IP . Il doit ensuite effectuer une recherche "dns inversée" pour convertir l'adresse IP du système demandeur en un nom d'hôte, afin qu'il puisse rechercher le nom d'hôte dans la table d'autorisation. Bien que vous puissiez mapper plusieurs noms d'hôte sur une seule adresse IP, comme vous l'avez fait, mysql n'a aucun moyen de savoir quel nom d'hôte a été spécifié à l'origine. À ce stade, tout ce qu'il a est 127.0.0.1, et le résolveur DNS renverra le nom "localhost". Même si vous le modifiez, vous ne pouvez lui donner qu'un seul nom, de sorte que votre schéma ne fonctionnera pas.

Vous pouvez cependant donner à votre carte réseau plusieurs adresses IP DIFFÉRENTES. Je ne connais pas les détails de la configuration sur Ubuntu, mais cela devrait être relativement facile. Ensuite, vous pouvez configurer plusieurs noms d'hôte, chacun avec sa propre adresse IP qui se connecte à votre système. Dans votre configuration mysql, spécifiez les adresses IP au lieu des noms d'hôtes dans vos commandes GRANT pour éviter d'avoir à jouer avec rDNS.