Maison >base de données >tutoriel mysql >Pourquoi ne puis-je pas accéder à distance à mon serveur MySQL sur Ubuntu et comment y remédier ?

Pourquoi ne puis-je pas accéder à distance à mon serveur MySQL sur Ubuntu et comment y remédier ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-03 04:38:07731parcourir

Why Can't I Remotely Access My MySQL Server on Ubuntu, and How Do I Fix It?

Établir des connexions MySQL à distance sur Ubuntu

Énoncé du problème

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.

Solution

Configurer MySQL Bind Adresse

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.

Confirmer la liaison de l'adresse IP

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éer un utilisateur distant et des privilèges

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;

Vérifier l'accès à distance

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.

Remarque

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn