1 votes

Impossible de se connecter à distance à MySQL

J'ai trois serveurs et une machine Windows dans un réseau local.

HTTP server (Apache2, PHP5 & phpmyadmin) - 10.0.0.10
DNS - 10.0.0.1
MySQL - 10.0.0.40
Windows - 10.0.0.157

Je viens d'installer une nouvelle copie de mysql sur le serveur mysql. J'ai d'abord commenté l'adresse bind. J'ai donné des privilèges en faisant ce qui suit.

CREATE USER 'https'@'localuser' IDENTIFIED BY 'password';
CREATE USER 'https'@'10.0.0.10' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'https'@'localhost';
GRANT ALL PRIVILEGES ON *.* TO 'https'@'10.0.0.10';

Cependant, chaque fois que j'essaie de me connecter à mysql via le serveur http, le phénomène suivant se produit

mysql -u https -p
enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket 'var/run/mysqld/mysqld.sock'(2)

Quand j'essaie

mysql -h 10.0.0.40 -P 3306 -u https -p

J'obtiens une erreur différente

ERROR 1045 (28000): Access denied for user 'https'@'10.0.0.10' (Using password: Yes)`

Je ne sais pas pourquoi cela se produit. J'ai fait tout ce que je devais configurer :(

Dans ma table mysql pour les utilisateurs, j'ai ce qui suit

user  | host  
https  %
https   10.0.0.10
sqlserver   127.0.0.1
sqlserver ::1
debian-sys-maint  localhost
https    localhost
sqlserver    localhost
sqlserver    raspberrypi

Quelqu'un peut-il m'indiquer la bonne direction à suivre ? J'ai cherché partout et tout ce que j'ai vu m'a conduit à commenter la ligne d'adresse de liaison.

Modifier Je ne peux même pas me connecter localement en utilisant n'importe quel utilisateur à part le sqlserver qui était le compte root qui a été renommé. J'ai essayé d'ajouter de nouveaux comptes et de me connecter sous leur nom en local, mais le problème reste le même !

2voto

Xiah Points 41

Pour répondre à ma propre question à laquelle Jos a partiellement répondu.

Vous ne devez pas mettre en commentaire la ligne d'adresse de liaison (dans /etc/my.cnf ). Au lieu de cela, vous devez le faire pointer vers l'adresse IP du serveur, à savoir 10.0.0.40 et redémarrez MySQL.

Cela, combiné à

GRANT ALL PRIVILEGES ON *.* TO ‘https’@’localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
au lieu de
GRANT ALL PRIVILEGES ON *.* TO 'https'@'10.0.0.10';
a réglé le problème. J'espère que cela aidera d'autres personnes ayant le même problème.

Merci pour votre aide !

1voto

Niklas Lindskog Points 189

Le service a-t-il commencé ? Si non (ou si vous n'êtes pas sûr), exécutez :

sudo service mysql start

1voto

Styrofoam Points 84

Si vous exécutez

netstat -an | grep 3306

voyez-vous une entrée avec LISTEN pour le port 3306 ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X