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

  1. Inicia sesión en EGPNL
  2. Ve a Bases de datosMySQL remoto
  3. Introduce tu dirección IP o nombre de host
  4. 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:

  1. Ve a Bases de datos MySQL
  2. Comprueba que tiene todos los privilegios
  3. 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

  1. Abre MySQL Workbench
  2. Haz clic en + para añadir una conexión
  3. Ponle un nombre a la conexión
  4. Pon en Hostname la dirección de tu servidor
  5. Pon el puerto en 3306
  6. Introduce el usuario
  7. Haz clic en Store in Vault para la contraseña
  8. Haz clic en Test Connection
  9. 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:

  1. Ve a MySQL remoto en EGPNL
  2. Escribe % como host
  3. 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

  1. Crea una conexión nueva
  2. Método de conexión: Standard TCP/IP over SSH
  3. SSH Hostname: your-server.com
  4. SSH Username: tu usuario de SSH
  5. SSH Key File: tu clave privada (opcional)
  6. MySQL Hostname: localhost (o 127.0.0.1)
  7. 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:

  1. Ve a MySQL remoto en EGPNL
  2. Localiza la entrada de la IP o el host
  3. Haz clic en Eliminar