2010-01-06 5 views
4

Vous avez une question pour laquelle je n'arrive pas à trouver de réponse. J'essaie de me connecter à une base de données distante. Je tape dans ce qui suit à mon shell Ubuntu:mysql client connexion nom d'hôte question

mysql -u test -h mysql.domain.com -p 

mysql demande mon mot de passe et délivre alors les éléments suivants:

ERROR 1045 (28000): Access denied for user 'test'@'externalit.domain.com' (using password: YES) 

Le problème est que je ne suis pas sur externalit. Je suis sur un hôte complètement différent. Je pense que le serveur sur lequel je suis a été cloné depuis externalit, mais je n'ai pas configuré le serveur. Ma question: est-ce que mysql a un fichier conf ou un autre paramètre qui peut entrer automatiquement un nom d'hôte incorrect? Puis-je changer cela?

Répondre

2

C'est le nom que le serveur pense va avec votre adresse IP. Cela peut se faire avec un paramètre DNS (il essaie un DNS inversé), ou quelque chose dans le fichier/etc/host (mappant cette adresse IP à cet hôte).

+0

Merci, J'ai pensé à cela et a fait un creusement et le nom de domaine complet externe externalise à une adresse IP différente. Si c'est le cas, c'est juste une sortie DNS, alors je suppose que l'administrateur du serveur a du travail à faire ... – Tim

2

Vous devez vous assurer que le DNS inverse sur la machine à partir de laquelle vous vous connectez correspond à l'adresse de l'utilisateur. Si vous êtes sur une adresse IP partagée ou ne pouvez pas contrôler le DNS inversé, changez les permissions sur l'utilisateur pour 'tester' @ '%' cela permettra à n'importe qui de n'importe quelle adresse IP de se connecter tant qu'ils ont le bon nom d'utilisateur paire. bien sûr, cela ouvre des problèmes de sécurité.

Vous pouvez empêcher mysql d'effectuer des recherches inversées, puis utiliser 'test'@'123.123.123' en tant qu'utilisateur/hôte, mais à moins d'être sur une adresse IP fixe qui pourrait causer des problèmes.

DC