2010-08-24 3 views
11

Je suis tombé sur l'adresse de liaison en essayant de configurer le serveur mysql. Les détails de la raison pour laquelle je veux configurer l'adresse de liaison sont dans le lien ci-dessous.Adresse de liaison et serveur Mysql

Multiple HostNames and Multiple Privileges?

Maintenant, je blême de comprendre le but de l'adresse de liaison. En ce sens, est-ce qu'une adresse de liaison est l'adresse que nous assignons à la machine qui héberge le serveur mysql?

Je n'ai aucune idée. Serait vraiment utile si quelqu'un pouvait m'expliquer le but de celui-ci? et affectera 0.0.0.0 à l'adresse de liaison créer des failles de sécurité/trous de boucle?

+0

Cela appartient à serverfault. Ce n'est pas lié à la programmation. – camh

+0

Désolé à ce sujet. Je suis relativement nouveau à Stack Overflow. Je vais m'assurer que je posterai la prochaine fois! –

Répondre

29

L'adresse que vous spécifiez dans bind indique à mysql où écouter. 0.0.0.0 est une adresse spéciale, ce qui signifie "lier à tous les réseaux disponibles".

Seul le logiciel client qui est capable d'ouvrir une connexion au serveur en utilisant la même adresse que celle spécifiée dans l'option 'bind' sera autorisé à se connecter.

Quelques exemples:

  • Si MySQL se lie à 127.0.0.1, puis logiciel que sur le même ordinateur sera en mesure de se connecter (parce 127.0.0.1 est toujours l'ordinateur local).
  • Si mysql se lie à 192.168.0.2 (et l'adresse IP de l'ordinateur serveur est 192.168.0.2 et il est sur un/24 sous-réseau), puis tous les ordinateurs sur le même sous-réseau (tout ce qui commence par 192.168.0) sera être capable de se connecter.
  • Si mysql se lie à 0.0.0.0, alors tout ordinateur capable d'atteindre l'ordinateur serveur sur le réseau pourra se connecter à .

Ce sont toutes des connexions de niveau transport. Les ordinateurs distants doivent toujours être qualifiés pour le niveau de l'application, c'est-à-dire qu'ils nécessiteront toujours les informations d'identification de connexion et les paramètres d'hôte corrects de mysql.user.

+0

Belle explication. Mais quand j'exécute mysql -h 192.168.0.2 -u nom d'utilisateur -p je suis capable de se connecter au serveur mysql si 192.168.0.2 est affecté des autorisations appropriées. Donc 192.168.0.2 voici l'hôte du serveur mysql mais pas le rite client? Si ma compréhension de mysql -h ip est fausse, corrigez-moi s'il vous plaît. –

+0

L'authentification mysql (l'élément username) contient également une restriction de nom d'hôte. -h indique simplement l'hôte auquel vous voulez vous connecter. Les utilisateurs peuvent bénéficier d'un accès générique. Voir https://dev.mysql.com/doc/refman/5.7/fr/adding-users.html pour plus de détails –

Questions connexes