4 votes

Comment autoriser l'accès distant à MySQL à partir d'une IP dynamique ?

J'ai essayé de chercher une réponse, mais je n'arrive pas à la trouver.

Je dois accéder à distance à une instance MySQL par le biais de l'atelier MySQL local. Le port est activé (je crois). Je peux m'y connecter par Telnet.

Tous les exemples que je vois disent quelque chose du genre

GRANT ALL PRIVILEGES ON *.* TO USER-NAME@IP IDENTIFIED BY "PASSWORD";

Le problème est que je me connecte à distance à partir d'une adresse IP dynamique. L'erreur que je reçois est la suivante

Accès refusé pour l'utilisateur 'root'@'c-67-166-150-41.hsd1.ca.comcast.net' (avec mot de passe : YES)

Comment puis-je le configurer pour qu'il m'autorise à entrer ? J'ai un accès root au MySQL Workbench sur la machine distante si je contrôle à distance.

Danke

0 votes

Je pense que vous avez répondu à votre propre question.

0 votes

Non, je ne l'ai pas fait. Mon adresse IP est dynamique. Je ne peux pas compter sur le fait que "c-67-166-150-41.hsd1.ca.comcast.net" reste le même.

10voto

jammus Points 1796

Vous feriez bien mieux d'utiliser un tunnel quelconque pour accéder au système. Putty/SSH offre cette fonctionnalité de manière très satisfaisante.

2 votes

8voto

Kai Bojens Points 158

Vous devriez essayer d'utiliser le "%" pour la partie hôte. Quelque chose comme :

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

(Tiré de Documentation MySQL )

Assurez-vous que les changements prennent effet correctement avec :

flush privileges

5 votes

Bien que cela puisse fonctionner, permettre à tout % o %comcast.net semble être une mauvaise idée.

3 votes

+1 pour pour Zoredcache : c'est à cela que servent les VPN. Mais en plus, une BD devrait JAMAIS être exposé sur Internet, même avec une authentification forte.

0 votes

Oui, cela semble être une mauvaise pratique, mais c'est une solution rapide et facile pour le moment. Actuellement, je suis seulement en développement. Une fois qu'il sera en production, je supprimerai l'accès. J'ai également utilisé la suggestion de @Zoredache d'utiliser %comcast.net.

5voto

Giacomo1968 Points 3512

Je ne recommanderais pas d'ouvrir MySQL à quelqu'un d'autre que localhost . Mais vous pouvez vous connecter à distance si vous utilisez un client qui gère le tunneling SSH. Quel est le site Banc d'essai MySQL ne semble pas le faire.

L'avantage du tunneling SSH est que vous pouvez garder le serveur en sécurité en n'exposant pas MySQL au monde entier. Vous pouvez configurer manuellement le tunnelage SSH si vous le souhaitez, mais de nombreux clients de bases de données intègrent cette fonctionnalité.

Sur le Mac, Sequel Pro fonctionne très bien.

Il vous donne la possibilité de choisir une connexion via SSH. Une fois dans cette configuration, vous entrez ce qui suit :

  • Nom : [quel que soit le nom de la connexion que vous souhaitez]
  • MySQL Hôte : 127.0.0.1 [qui est l'hôte local de la machine].
  • Nom d'utilisateur : [nom d'utilisateur db]
  • Mot de passe : [mot de passe db]
  • Base de données : [nom de la base de données ou vide pour montrer tout ce à quoi vous avez accès].
  • Port : 3306 [port standard de MySQL]

Maintenant, voici le truc SSH. Ce sont à 100% les mêmes informations que vous entrez dans une session SSH :

  • Hôte SSH : [nom d'hôte ou adresse IP du serveur].
  • Utilisateur SSH : [le nom d'utilisateur SSH]
  • Mot de passe SSH : [le mot de passe SSH]
  • Port SSH : [laissez en blanc si la configuration est standard]

Cela dit, si vous souhaitez avoir une connexion à MySQL basée sur une adresse IP pure, vous devez ouvrir le serveur pour accéder aux clients distants, mais aussi avoir un pare-feu en amont qui limite l'accès à MySQL sur une base par IP.

0 votes

Pourquoi MyQL Workbench en aurait-il besoin ? Il suffit de lancer un tunnel ssh et de connecter MySQL Workbench à l'adresse IP et au port où il écoute.

0 votes

Tout le monde ne sait pas ou ne comprend pas comment fonctionne le tunnelage SSH. Donc quelque chose comme Sequel Pro le rend plus facile pour un utilisateur novice.

1 votes

MySQL Workbench a intégré la prise en charge du tunnelage SSH.

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