Quand l'accès distant est utile
L'accès distant vous permet de joindre votre base MySQL depuis :
- un environnement de développement local (XAMPP, MAMP, Docker)
- des outils de bureau (MySQL Workbench, DBeaver, Sequel Pro)
- d'autres serveurs ou des applications cloud
- des scripts automatisés et des outils de sauvegarde
Note de sécurité : ouvrir MySQL à distance crée un risque de sécurité potentiel. Ne l'activez que si c'est nécessaire et utilisez toujours des mots de passe solides.
Activer l'accès distant
Étape 1 : ajouter l'hôte distant
- Connectez-vous à EGPNL
- Ouvrez Databases → Remote MySQL
- Saisissez votre adresse IP ou votre nom d'hôte
- Cliquez sur Add Host
Trouver votre IP : ouvrez whatismyipaddress.com pour connaître votre IP publique actuelle.
Étape 2 : configurer l'utilisateur de la base
Vérifiez que votre utilisateur de base de données dispose des bons droits :
- Ouvrez MySQL Databases
- Vérifiez que votre utilisateur possède All Privileges
- Ou créez un utilisateur dédié à l'accès distant
Paramètres de connexion
| Paramètre | Valeur |
|---|---|
| Nom d'hôte | L'IP de votre serveur ou yourdomain.com |
| Port | 3306 (port MySQL par défaut) |
| Base de données | your_database_name |
| Nom d'utilisateur | your_database_user |
| Mot de passe | your_database_password |
Se connecter avec MySQL Workbench
- Ouvrez MySQL Workbench
- Cliquez sur + pour ajouter une connexion
- Donnez un nom à la connexion
- Renseignez l'adresse de votre serveur dans Hostname
- Réglez Port sur 3306
- Saisissez le nom d'utilisateur
- Cliquez sur Store in Vault pour enregistrer le mot de passe
- Cliquez sur Test Connection
- Cliquez sur OK pour enregistrer
Se connecter en ligne de commande
# Basic connection
mysql -h your-server.com -P 3306 -u username -p database_name
# Example
mysql -h server.egphp.com -P 3306 -u mysite_user -p mysite_db
Se connecter depuis PHP (application distante)
<?php
$host = 'your-server.com'; // Remote server hostname
$port = 3306;
$database = 'your_database';
$username = 'your_user';
$password = 'your_password';
// PDO Connection
try {
$pdo = new PDO(
"mysql:host=$host;port=$port;dbname=$database;charset=utf8mb4",
$username,
$password,
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
);
echo "Connected successfully!";
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
Autoriser tous les hôtes (caractère générique)
Pour autoriser les connexions depuis n'importe quelle adresse IP :
- Ouvrez Remote MySQL dans EGPNL
- Saisissez
%comme hôte - Cliquez sur Add Host
Déconseillé : autoriser tous les hôtes (%) constitue un risque de sécurité. Réservez-le aux tests et supprimez l'entrée ensuite. Privilégiez toujours des adresses IP précises.
Tunnel SSH (la solution la plus sûre)
Pour une sécurité maximale, passez par un tunnel SSH :
Tunnel SSH en ligne de commande
# Create tunnel
ssh -L 3307:localhost:3306 user@your-server.com
# In another terminal, connect via tunnel
mysql -h 127.0.0.1 -P 3307 -u dbuser -p database_name
Tunnel SSH dans MySQL Workbench
- Créez une nouvelle connexion
- Réglez la méthode de connexion sur Standard TCP/IP over SSH
- Nom d'hôte SSH : your-server.com
- Nom d'utilisateur SSH : votre utilisateur SSH
- Fichier de clé SSH : votre clé privée (facultatif)
- Nom d'hôte MySQL : localhost (ou 127.0.0.1)
- Saisissez les identifiants de la base de données
Pourquoi un tunnel SSH ? Les tunnels SSH chiffrent tout le trafic et évitent d'exposer le port MySQL 3306 sur Internet.
Résolution des problèmes
Connexion refusée (Connection Refused)
- Vérifiez que votre IP figure bien dans Remote MySQL
- Vérifiez si votre IP a changé (IP dynamique)
- Assurez-vous que le port 3306 est ouvert sur votre pare-feu
Accès refusé (Access Denied)
- Vérifiez le nom d'utilisateur et le mot de passe
- Vérifiez que l'utilisateur a les droits d'accès distant
- Assurez-vous que le nom de la base est correct
Erreurs de délai dépassé
- Vérifiez que ni le réseau ni le pare-feu ne bloquent le port 3306
- Essayez plutôt un tunnel SSH
- Vérifiez que le serveur accepte les connexions
Retirer l'accès distant
Lorsque vous n'avez plus besoin de l'accès distant :
- Ouvrez Remote MySQL dans EGPNL
- Repérez l'entrée correspondant à l'IP ou à l'hôte
- Cliquez sur Delete
Cet article vous a-t-il été utile ?