Cuándo necesitas acceso remoto
El acceso remoto te permite conectarte a tu base de datos MySQL desde:
- Tu entorno de desarrollo local (XAMPP, MAMP, Docker)
- Herramientas de escritorio (MySQL Workbench, DBeaver, Sequel Pro)
- Otros servidores o aplicaciones en la nube
- Scripts automáticos y herramientas de copia
Nota de seguridad: el acceso remoto a MySQL abre un riesgo. Actívalo solo cuando haga falta y usa siempre contraseñas robustas.
Activar el acceso remoto
Paso 1: añade el host remoto
- Inicia sesión en EGPNL
- Ve a Bases de datos → MySQL remoto
- Introduce tu dirección IP o nombre de host
- Haz clic en Añadir host
Encuentra tu IP: visita whatismyipaddress.com para ver tu IP pública actual.
Paso 2: configura el usuario de la base de datos
Comprueba que tu usuario tiene los permisos correctos:
- Ve a Bases de datos MySQL
- Comprueba que tiene todos los privilegios
- O crea un usuario específico para el acceso remoto
Datos de conexión
| Ajuste | Valor |
|---|---|
| Nombre de host | La IP de tu servidor o yourdomain.com |
| Puerto | 3306 (el puerto por defecto de MySQL) |
| Base de datos | your_database_name |
| Usuario | your_database_user |
| Contraseña | your_database_password |
Conectar con MySQL Workbench
- Abre MySQL Workbench
- Haz clic en + para añadir una conexión
- Ponle un nombre a la conexión
- Pon en Hostname la dirección de tu servidor
- Pon el puerto en 3306
- Introduce el usuario
- Haz clic en Store in Vault para la contraseña
- Haz clic en Test Connection
- Haz clic en OK para guardar
Conectar desde la línea de comandos
# 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
Conectar con PHP (aplicación remota)
<?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();
}
?>
Permitir todos los hosts (comodín)
Para permitir conexiones desde cualquier IP:
- Ve a MySQL remoto en EGPNL
- Escribe
%como host - Haz clic en Añadir host
No recomendado: permitir todos los hosts (%) es un riesgo. Úsalo solo para pruebas y quítalo después. Usa IP concretas siempre que puedas.
Túnel SSH (lo más seguro)
Para la máxima seguridad, conéctate por un túnel SSH:
Túnel SSH desde la línea de comandos
# 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
SSH en MySQL Workbench
- Crea una conexión nueva
- Método de conexión: Standard TCP/IP over SSH
- SSH Hostname: your-server.com
- SSH Username: tu usuario de SSH
- SSH Key File: tu clave privada (opcional)
- MySQL Hostname: localhost (o 127.0.0.1)
- Introduce las credenciales de la base de datos
¿Por qué un túnel SSH? Cifra todo el tráfico y evita abrir el puerto 3306 de MySQL a internet.
Solución de problemas
Conexión rechazada
- Comprueba que tu IP está añadida en MySQL remoto
- Mira si tu IP ha cambiado (IP dinámica)
- Confirma que el puerto 3306 está abierto en tu cortafuegos
Acceso denegado
- Verifica el usuario y la contraseña
- Comprueba que el usuario tiene privilegios de acceso remoto
- Asegúrate de que el nombre de la base de datos es correcto
Errores de tiempo de espera
- Mira si la red o el cortafuegos bloquean el puerto 3306
- Prueba a usar un túnel SSH
- Comprueba que el servidor acepta conexiones
Quitar el acceso remoto
Cuando ya no necesites el acceso remoto:
- Ve a MySQL remoto en EGPNL
- Localiza la entrada de la IP o el host
- Haz clic en Eliminar
¿Te ha resultado útil este artículo?