Maison  >  Article  >  base de données  >  MySQL « localhost » vs « 127.0.0.1 » : pourquoi est-ce important pour les privilèges des utilisateurs ?

MySQL « localhost » vs « 127.0.0.1 » : pourquoi est-ce important pour les privilèges des utilisateurs ?

DDD
DDDoriginal
2024-11-23 20:24:11507parcourir

MySQL `localhost` vs. `127.0.0.1`: Why Does It Matter for User Privileges?

Mysql localhost != 127.0.0.1?

Comprendre la différence

Lors de la connexion à une base de données MySQL sans spécifier de nom d'hôte ni utiliser 'localhost', unix mysqld utilise des sockets. Cependant, l'utilisation de l'adresse IP '127.0.0.1' comme hôte déclenche des connexions réseau.

Impact sur les privilèges

Cette distinction devient apparente dans le système GRANT. Par défaut, les autorisations accordées à 'root'@'localhost' ne s'appliquent qu'aux connexions utilisant des sockets. Pour étendre ces privilèges aux connexions avec « 127.0.0.1 », vous devez les accorder explicitement à « root »@'127.0.0.1 ».

Accorder TOUS les privilèges de TOUS les hôtes

Pour attribuer tous les privilèges à l'utilisateur « root » de n'importe quel hôte sur toutes les bases de données, utilisez ce qui suit commande :

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

Vérification des privilèges

Confirmation des privilèges mis à jour :

mysql -u root -h 127.0.0.1 -pzenoss -e "SHOW GRANTS;"

Le résultat devrait maintenant afficher les autorisations pour 'root'@ '127.0.0.1' avec 'root'@'localhost'.

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