Accès à distance pour les utilisateurs MySQL
Lorsque vous tentez d'établir une connexion à distance à une base de données MySQL à l'aide de l'utilisateur user@'%' et du password password, la connexion échoue malgré le caractère générique % indiquant l'accès depuis n'importe quel hôte.
Raison du Échec
Le caractère générique % dans le champ hôte d'un utilisateur MySQL n'accorde pas automatiquement l'accès à distance. Pour vous connecter à distance, les étapes suivantes sont nécessaires :
Lier MySQL à l'adresse IP de la machine : Configurer MySQL pour lier le port 3306 à l'adresse IP de votre machine dans my.cnf (ou my.ini sous Windows) comme suit :
bind-address = xxx.xxx.xxx.xxx
Créer un utilisateur dans Localhost et Wildcard : Créez l'utilisateur dans les hôtes localhost et % wildcard à l'aide des commandes suivantes :
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
Accorder des autorisations : Accorder des autorisations complètes sur tous bases de données à l'utilisateur à partir de localhost et de wildcard :
GRANT ALL ON *.* TO 'myuser'@'localhost'; GRANT ALL ON *.* TO 'myuser'@'%'; FLUSH PRIVILEGES;
Considérations supplémentaires
Testez la connexion à distance avec la commande suivante :
mysql -h <hostname> -u myuser -pmypass
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!