web-dev-qa-db-fra.com

Connexion à distance à Amazon AWS Mysql

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)

1
Igor L.

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

3
Igor L.