J'ai une instance Amazon AWS EC2 exécutant Ubuntu 14.04. où j'ai installé MYSQL 5.5.
J'essaie de me connecter à MYSQL sur cette instance à partir de ma machine Windows10 locale exécutant Navicat.
Etat de l'env:
3306 écoute
netstat -an | grep 3306 -> tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
MYSQL est lancé
ubuntu@ip-***-**-**-**:/$ Sudo service mysql status
mysql start/running, process 28015
sélectionnez User, Host à partir de mysql.user;
| blog | % |
| blog | localhost |
mysql> show grants for 'blog'@'%';
+--------------------------------------------------+
| Grants for blog@% |
+--------------------------------------------------+
| GRANT USAGE ON *.* TO 'blog'@'%' |
| GRANT ALL PRIVILEGES ON `blogdb`.* TO 'blog'@'%' |
+--------------------------------------------------+
2 rows in set (0.00 sec)
telnet from my PC to the server does not work -> need to sleep. will come back tomorrow :)
Je suis connecté à l'instance Ubuntu via SSH à l'aide d'une clé privée.
L'ancien problème:
Lors de la tentative de connexion à partir de Windows à l'aide de Navicat à MYSQL s'exécutant sur mon instance AWS, l'erreur suivante apparaît:
Impossible de se connecter au serveur Mysql le '41 .42.434.169 '(10061 "Erreur inconnue") -> l'IP indiqué ici n'est pas le mien
Le nom d'hôte/l'adresse IP que j'utilise est l'adresse IP publique de mon instance AWS.
Ceci a été corrigé en commentant le # bind-address = 127.0.0.1
dans my.cnf
Maintenant, telnet depuis mon PC fonctionne
EDIT
Maintenant, j'obtiens l'erreur suivante:
Accès refusé à l'utilisateur [email protected] (avec mot de passe: YES)
Pour l'accès à distance:
Vérifiez etc\mysql\my.cnf pour voir que l'adresse de liaison n'est pas définie sur 127.0.0.1. Définissez-le sur 0.0.0.0 ou, pour plus de sécurité, ajoutez votre adresse IP:
bind-address = 127.0.0.1
bind-address = your_public_ip
Crée un utilisateur dans la table mysql:
CREATE USER 'non-root-user'@'localhost' IDENTIFIED BY 'any_password_u_like';
CREATE USER 'non-root-user'@'%' IDENTIFIED BY 'any_password_u_like';
GRANT ALL ON *.* TO 'non-root-user'@'localhost';
GRANT ALL ON *.* TO 'non-root-user'@'%';
AWS SPECIFIC
Assurez-vous que vous avez une règle entrante pour le port 3306