Comprendre la distinction : localhost vs. 127.0.0.1 dans MySQL
Lors d'une tentative de connexion à une base de données MySQL à l'aide de l'interface de ligne de commande , les utilisateurs rencontrent souvent une différence entre l'utilisation de localhost et 127.0.0.1 comme nom d'hôte. Cet article explore la cause sous-jacente de cette différence et propose une solution pour accorder tous les privilèges de base de données de tous les hôtes.
Connexions socket et noms d'hôte
Dans les systèmes UNIX, MySQL utilise des sockets pour les connexions établies sans nom d'hôte ou avec le nom d'hôte localhost. Cela signifie qu'il existe une différence entre ces deux formes de connexion.
Impact sur le système GRANT
Le système GRANT dans MySQL fait la distinction entre ces différents types de connexion, ce qui entraîne l'écart observé.
Accorder TOUS les privilèges de TOUS Hôtes
Pour accorder tous les privilèges de base de données à l'utilisateur root de tous les hôtes, exécutez la commande suivante :
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Cette commande garantit que l'utilisateur root peut accéder à toutes les bases de données depuis n'importe quel hôte.
Dépannage
Si les privilèges accordés ne fonctionnent pas comme prévu, il est essentiel de vérifier les éléments suivants :
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!