Permettre l'accès à distance à une base MySQL suppose pas mal d'étapes :
1) il faut que le serveur MySQL soit à l'écoute sur l'adresse IP publique du serveur (IP "normale" ou IP failover,
peu importe) et pas seulement à l'écoute sur l'adresse IP locale 127.0.0.1 (qui est la configuration par défaut
de MySQL, dans un souci de sécurité accrue)
2) A partir du moment où le serveur MySQL est à l'écoute sur l'extérieur, il vaut mieux restreindre qui peut
se connecter à lui à distance, (par défaut, tout le monde est autorisé) sinon les risques de piratages sont grands.
Pour cela il faudra utiliser le parefeu (firewall) du serveur dédié.
3) Enfin, une fois que les étapes 1) et 2) sont réglées, il faut encore autoriser la connexion distante à la base
de données elle-même, du point de vue de la gestion des droits des utilisateurs MySQL.
---
Etape 1 : ça se règle dans la configuration du serveur MySQL, cf là par exemple :
https://kb.plesk.com/fr/1134
Lire seulement jusque "dans l'état de commentaire." dans un premier temps.
Ne pas oublier de redémarrer MySQL une fois les modifications effectuées
afin que les changements soient pris en compte.
Si la configuration de MySQL est bonne, un simple :
effectué dans le PC local devrait fonctionner, tout dumoins ne pas se faire jeter
par un "telnet: Unable to connect to remote host: Connection refused"
comme vu précédemment.
Seulement si c'est le cas, on peut passer à la suite. Si déjà là, ça ne va pas,
inutile de poursuivre les étapes suivantes, ça ne pourra pas fonctionner.
Etape 2 : afin d'éviter que tout le monde ne puisse se connecter à MySQL à distance,
il faut indiquer explicitement quelles sont les adresses IP fixes autorisées
(puisqu'il n'y a pas d'IP dynamique ici, côté poste client).
Cf là :
http://www.codero.com/knowledge-base/questions/72/
à partir de l'étape 7 seulement. Il s'agit de configurer le parefeu (firewall) de Plesk
dans ce sens. On pourrait également le faire à plus bas niveau avec la commande
'iptables' mais bon, quitte à avoir un panel de gestion, autant s'en servir
Pour vérifier que tout est bon à cette étape :
1) ne pas autoriser/ajouter sa propre IP fixe dans un premier temps (mais autoriser les 2-3 autres)
2) vérifier que le telnet vu plus haut est désormais rejeté
3) autoriser son IP fixe en plus des autres IP déjà autorisées au point 1
4) vérifier que le telnet passe bien à nouveau.
Etape 3 : Il faut reprendre le tuto vu plus haut :
https://kb.plesk.com/fr/1134
et lire à partir de "Maintenant, vous devez accorder l'accès à l'adresse IP distante".
Si tout va bien à cette étape, c'est terminé.
Pour le vérifier, une commande telle que :
Code:
mysql -u utilisateur_mysql -p -h 11.22.33.44 mabase
à taper dans le PC local devrait permettre l'accès à distance à la base.
où :
- "utilisateur_mysql" est à remplacer par le compte utilisateur MySQL
- "11.22.33.44" est l'adresse IP publique du dédié
- "mabase" est le nom de la base de données.
Cette commande demandera interactivement le mot de passe du compte
utilisateur MySQL en question. Il faudra le taper en aveugle.
Si tout va bien, on obtient en retour l'invite de commande (prompt)
de MySQL :
et là on peut sabrer le champagne