Pour se connecter d'une machine cliente à une base de données MySQL, les données doivent traverser jusqu'à 5 niveaux de validation. Voici un cas général où le client et le serveur ne sont pas sur le même réseau et une connexion sécurisée n'est pas utilisée :
Assurez-vous d'abord que MySQL utilise une bind-address
différent de localhost
il utilise donc une interface et pas seulement des connexions locales.
À chaque niveau, les règles/permissions du pare-feu doivent permettre à la connexion de passer. Notez qu'une machine peut et a souvent une adresse IP différente en interne qu'en externe. Le principe de base est :
La plupart du temps, les pare-feu sont correctement configurés. La dernière pièce manquant souvent le serveur MySQL GRANT
autorisation d'accès à la DB
pour l'utilisateur externe. La dernière syntaxe est :
Qui a souvent la forme :
GRANT ALL ON <DB>.* TO '<external_user>'@'<external_ip>' IDENTIFIED BY 'external_password';