Maison >base de données >tutoriel mysql >Pourquoi utiliser à la fois \'%\' et \'localhost\' lors de la définition des noms d'hôtes des utilisateurs MySQL ?

Pourquoi utiliser à la fois \'%\' et \'localhost\' lors de la définition des noms d'hôtes des utilisateurs MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-30 18:08:31407parcourir

Why Use Both '%' and 'localhost' When Defining MySQL User Hostnames?

Noms d'hôtes des utilisateurs MySQL : 'localhost' vs. '%'

Lors de la structuration d'une base de données MySQL, il est souvent nécessaire de créer plusieurs utilisateurs avec privilèges d’accès distincts. Un débat courant surgit lorsqu'il s'agit de déterminer s'il faut spécifier un « % » ou un « localhost » comme nom d'hôte pour ces utilisateurs. Cette question explore la différence entre ces deux noms d'hôte.

Problème :

Un développeur insiste pour créer quatre comptes utilisateur pour deux utilisateurs (appuser et support) :

  • appuser@'%'
  • appuser@'localhost'
  • support@'%'
  • support@'localhost'

La question ici est de savoir pourquoi une telle configuration est nécessaire, étant donné que le caractère générique '%' couvrirait apparemment 'localhost'.

Réponse :

Le Le nom d'hôte 'localhost' revêt une importance particulière dans MySQL. Contrairement au caractère générique '%', qui s'applique aux connexions TCP/IP classiques, 'localhost' fait exclusivement référence aux connexions établies via des sockets UNIX (ou des canaux nommés sur les systèmes Windows).

Dans MySQL, le '%' - Le caractère générique exclut localhost, ce qui nécessite de le spécifier explicitement en tant que nom d'hôte distinct. Cette configuration permet un contrôle précis de l'accès des utilisateurs à partir de différentes interfaces réseau. En désignant à la fois « % » et « localhost » pour chaque utilisateur, on obtient les résultats suivants :

  • Le nom d'hôte « % » autorise l'accès à partir de n'importe quelle adresse IP distante.
  • Le « localhost » ' Le nom d'hôte accorde l'accès depuis le même serveur à l'aide de sockets UNIX (ou de canaux nommés).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn