MySQL distant (Remote MySQL) dans cPanel : Autoriser l'accès externe aux bases de données
Par défaut, pour des raisons de sécurité, les bases de données MySQL et MariaDB dans cPanel ne sont configurées que pour des connexions locales, par exemple depuis votre site web hébergé sur le même serveur via localhost. Grâce à la fonctionnalité MySQL distant, vous pouvez autoriser des hôtes externes sélectionnés à accéder à vos bases de données.
Cela s'avère particulièrement utile lorsque vous travaillez avec un outil de gestion de base de données local (comme MySQL Workbench), connectez une application externe ou souhaitez accorder à un serveur de développement l'accès à une base de données spécifique.
%, car ce dernier permet un accès depuis n'importe quelle source dans le monde.Dans quels cas avez-vous besoin de MySQL distant ?
Le MySQL distant est nécessaire lorsque la connexion à la base de données ne provient pas directement de votre site web situé sur le serveur d'hébergement, mais doit être établie par un système externe.
- Développement local : Accès depuis votre ordinateur à l'aide de MySQL Workbench, TablePlus, DBeaver ou tout autre outil de base de données similaire.
- Application externe : Connexion depuis un logiciel ou un serveur situé en dehors de votre environnement d'hébergement web.
- Serveur de développement : Accès à une base de données de votre compte d'hébergement depuis un environnement de test ou de préproduction.
- Analyse ou maintenance : Accès temporaire pour l'analyse de données, la migration ou le diagnostic d'erreurs.
Autoriser un hôte externe pour le MySQL distant
Pour permettre à un appareil ou à un serveur externe d'accéder à votre base de données, vous devez autoriser son adresse IP publique dans cPanel.
- Connectez-vous à cPanel.
- Dans la section Bases de données, ouvrez la fonctionnalité MySQL distant.
- Identifiez l'adresse IP publique de l'appareil ou du serveur qui doit se connecter.
- Saisissez cette adresse IP dans le champ Hôte.
- Optionnel : Ajoutez un commentaire, par exemple PC Bureau, Serveur Dev ou MySQL Workbench.
- Cliquez sur Ajouter l'hôte.
Une fois l'hôte ajouté, celui-ci peut en principe établir une connexion avec le serveur MySQL ou MariaDB, à condition que le nom d'utilisateur, le mot de passe, le nom de la base de données et l'adresse du serveur soient également corrects.
Quelles sont les informations de connexion nécessaires ?
Pour une connexion externe à une base de données, vous aurez généralement besoin des informations suivantes dans votre logiciel ou application externe :
| Information | Description | Exemple |
|---|---|---|
| Serveur / Hôte | Nom d'hôte (hostname) ou adresse IP du serveur de base de données | votredomaine.ch ou adresse du serveur |
| Port | Port standard pour les connexions MySQL | 3306 |
| Nom de la base | Nom complet de la base de données, préfixe cPanel inclus | utilisateur_base |
| Nom d'utilisateur | Nom d'utilisateur complet de la base de données, préfixe cPanel inclus | utilisateur_dbuser |
| Mot de passe | Le mot de passe configuré pour cet utilisateur | Votre mot de passe de base de données |
utilisateur_base et non pas uniquement base.Gérer ou supprimer des hôtes autorisés
Dans la section MySQL distant, vous trouverez la liste des hôtes actuellement autorisés. Vérifiez cette liste régulièrement et supprimez les entrées qui ne sont plus nécessaires.
- Utiliser les commentaires : Décrivez clairement chaque entrée pour savoir plus tard pourquoi cet accès avait été créé.
- Révoquer l'accès : Supprimez les hôtes devenus inutiles via la fonction de suppression correspondante.
- Accès temporaires : Si l'accès n'a été requis que pour une migration ou une maintenance, veillez à le supprimer immédiatement après l'opération.
Caractères génériques (Wildcards)
Selon sa configuration, cPanel peut prendre en charge des caractères génériques pour l'autorisation des hôtes. Cela permet notamment de valider des plages d'adresses IP entières. Une entrée telle que 1.2.3.% couvrira toutes les adresses IP contenues dans ce bloc spécifique.
Problèmes fréquents lors de connexions MySQL distantes
Si la connexion échoue malgré l'autorisation de l'hôte, vérifiez les points suivants :
| Problème | Cause possible | Solution |
|---|---|---|
| Connexion refusée | L'adresse IP externe n'est pas ou n'est plus autorisée. | Vérifiez votre adresse IP publique actuelle et ajoutez-la dans MySQL distant. |
| Délai d'attente dépassé (Timeout) | Un pare-feu, un routeur ou le réseau local bloque la connexion. | Vérifiez si les connexions sortantes sur le port 3306 sont bien autorisées. |
| Access denied | Le nom d'utilisateur, le mot de passe ou les privilèges sont incorrects. | Vérifiez l'utilisateur, le mot de passe et les droits d'accès dans cPanel. |
| Unknown database | Le nom de la base de données est erroné ou incomplet. | Utilisez le nom complet de la base de données avec son préfixe cPanel. |
| Nom d'hôte incorrect | Le terme localhost est utilisé alors qu'il s'agit d'une connexion externe. |
Utilisez le nom de serveur externe ou l'adresse de serveur appropriée. |
MySQL distant et privilèges des utilisateurs
L'autorisation d'un hôte via MySQL distant ne remplace pas les droits de l'utilisateur de la base de données. Un hôte externe ne pourra accéder avec succès à une base de données que si un utilisateur a été créé et correctement affecté à cette base spécifique.
En cas de problème de connexion, pensez donc à vérifier également la section Bases de données MySQL dans cPanel :
- L'utilisateur de la base de données existe-t-il ?
- L'utilisateur est-il bien associé à la bonne base de données ?
- L'utilisateur possède-t-il tous les privilèges requis ?
- Le mot de passe a-t-il été correctement saisi dans l'application externe ?
Recommandations de sécurité pour le MySQL distant
- N'autorisez que des adresses IP spécifiques et évitez les plages inutilement larges.
- Supprimez les accès temporaires dès que votre travail est terminé.
- Utilisez des mots de passe robustes et uniques pour vos utilisateurs de bases de données.
- Créez des utilisateurs de bases de données distincts pour chaque application dans la mesure du possible.
- Attribuez uniquement les privilèges strictement nécessaires au fonctionnement.
- Ne stockez jamais de données d'accès aux bases de données de manière non cryptée dans des fichiers publics.
En résumé
La fonction MySQL distant vous permet d'accorder à des appareils ou serveurs externes spécifiques l'accès à vos bases de données MySQL ou MariaDB. Cette option est très pratique pour le développement, la maintenance et les applications externes, mais elle doit être configurée avec discernement.
Pour réussir votre connexion, vous devez valider l'hôte concerné, utiliser des identifiants corrects, et disposer d'un utilisateur de base de données disposant des bons droits.
Vous tentez d'accéder à votre base de données à distance mais rencontrez des erreurs de connexion ?
L'équipe technique CURIAWEB se tient à votre entière disposition pour vous aider à contrôler vos paramètres de MySQL distant, vos privilèges et vos données de connexion.