Mysql localhost != 127.0.0.1
Cette question explore la distinction entre l'utilisation du nom d'hôte "localhost" et de l'adresse IP "127.0 .0.1" lors de la connexion à un MySQL base de données.
Explication
Dans MySQL, le nom d'hôte "localhost" correspond à un socket, tandis que l'adresse IP "127.0.0.1" fait référence à une interface réseau spécifique. Cette distinction devient évidente lors de l'octroi d'autorisations.
Par exemple, l'octroi de privilèges à l'aide de "localhost" accordera des autorisations pour les connexions établies via le socket, mais pas via l'interface réseau. À l'inverse, l'octroi de privilèges à l'aide de "127.0.0.1" accordera des autorisations pour les connexions établies via l'interface réseau, mais pas via le socket.
Accorder TOUS les privilèges sur toutes les bases de données à partir de tous les hôtes
Pour accorder à l'utilisateur root tous les privilèges sur toutes les bases de données de tous les hôtes, utilisez ce qui suit commande :
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Cela accordera à l'utilisateur root l'accès à toutes les bases de données à partir de n'importe quel hôte.
Dépannage
Si vous rencontrez l'erreur « Inconnu base de données 'created_from_host'" lorsque vous essayez de vous connecter à la base de données à l'aide de "localhost", assurez-vous que les paramètres suivants sont correct :
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!