Les tentatives d'accès à distance à un serveur MySQL échouent avec une erreur d'accès refusé, malgré l'octroi de privilèges à distance à l'utilisateur.
Pour accepter les connexions à distance dans MySQL versions 5.6 et inférieures, assurez-vous que la ligne suivante n'est pas commentée dans /etc/mysql/my.cnf :
#Replace xxx with your IP Address bind-address = xxx.xxx.xxx.xxx
Vous pouvez également utiliser bind-address = 0.0.0.0 pour autoriser les connexions depuis n'importe quelle IP.
Pour MySQL versions 5.7 et supérieures, modifiez l'adresse de liaison dans /etc/mysql/mysql.conf.d/mysqld.cnf.
Redémarrez MySQL et vérifiez l'adresse de liaison mise à jour à l'aide de lsof -i -P | grep :3306. Il devrait renvoyer une adresse IP pour votre serveur.
Créez l'utilisateur distant avec les privilèges appropriés dans localhost et % :
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
Grant les autorisations nécessaires :
GRANT ALL ON *.* TO 'myuser'@'localhost'; GRANT ALL ON *.* TO 'myuser'@'%';
Enfin, videz les privilèges et exit :
FLUSH PRIVILEGES; EXIT;
En cas d'échec, recherchez les messages d'erreur supplémentaires ou examinez la configuration my.cnf. Pensez à installer lsof pour le dépannage s'il n'est pas disponible.
Si le changement d'adresse de liaison dans my.cnf ne résout pas le problème, essayez de le modifier dans /etc/mysql/ mariadb.conf.d/50-server.cnf, où il a été initialement déclaré.
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!