J'ai 3 serveurs et 1 machine Windows fonctionnant dans un LAN
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 de liaison. J'ai accordé des privilèges en procédant comme 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, les événements suivants se produisent
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'essaye
mysql -h 10.0.0.40 -P 3306 -u https -p
Je reçois 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 pour autant que je sache, j'ai fait tout ce dont j'ai besoin pour configurer? :(
Dans ma table mysql pour les utilisateurs, j'ai les éléments suivants
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'orienter dans la bonne direction, s'il vous plaît? J'ai cherché autour de moi et tout ce que je vois pointe vers la mise en commentaire de la ligne d'adresse de liaison.
Edit Je ne peux même pas me connecter en utilisant localement en utilisant un utilisateur autre que sqlserver
qui était le compte root qui a été renommé. J'ai essayé d'ajouter de nouveaux comptes et de me connecter comme eux localement, toujours le même problème!
Pour répondre à ma propre question à laquelle Jos a en partie répondu.
Vous ne devez pas commenter la ligne d'adresse de liaison (dans /etc/my.cnf
). Au lieu de cela, vous devez le pointer vers l'adresse IP du serveur, c'est-à-dire 10.0.0.40
, et redémarrez MySQL.
Cela combiné avec
GRANT ALL PRIVILEGES ON *.* TO ‘https’@’localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
au lieu deGRANT ALL PRIVILEGES ON *.* TO 'https'@'10.0.0.10';
a résolu le problème. J'espère que cela aidera d'autres personnes ayant le même problème.
Merci pour l'aide les gars!
Le service est-il démarré? Sinon (ou vous n'êtes pas sûr), exécutez:
Sudo service mysql start
si vous exécutez
netstat -an | grep 3306
voyez-vous une entrée avec LISTEN pour le port 3306?