Question :
Lors d'une tentative de connexion à distance à une base de données MySQL en utilisant le compte 'user@'%', des problèmes de connexion surviennent malgré une connexion réussie à l'aide de 'user@'localhost'. Pourquoi '%' n'autorise-t-il les connexions à partir d'aucun hôte ?
Réponse :
Pour établir des connexions à distance, suivez ces étapes :
1. Configurez l'adresse de liaison MySQL :
Modifiez le fichier my.cnf (my.ini sous Windows) et définissez le paramètre bind-address sur l'adresse IP de votre machine :
bind-address = xxx.xxx.xxx.xxx
2. Créer un utilisateur générique et accorder des autorisations :
Exécutez les commandes suivantes :
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
GRANT ALL ON *.* TO 'myuser'@'localhost'; GRANT ALL ON *.* TO 'myuser'@'%';
FLUSH PRIVILEGES;
3. Ouvrir le port de connexion à distance :
En fonction de votre système d'exploitation, il peut être nécessaire d'ouvrir le port 3306 pour autoriser les connexions à distance.
Explication :
'%' autorise les connexions depuis n'importe quel hôte. Cependant, pour les connexions à distance, MySQL doit être configuré pour se lier à l'adresse IP appropriée. De plus, l'utilisateur doit être créé avec les privilèges génériques « localhost » et « % » accordés pour toutes les bases de données.
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!