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!