🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo configurar MySQL remoto en DirectAdmin para conexiones externas

Actualizado el 26 de abril de 2026

¡Hola! Si estás leyendo esto, es porque necesitas conectar una aplicación externa (como un WordPress instalado en otro servidor, una herramienta de escritorio o un script personalizado) a tu base de datos MySQL alojada en DirectAdmin. Por defecto, MySQL bloquea las conexiones externas por seguridad, pero con esta guía paso a paso vamos a abrir ese candado de forma segura y eficiente.

Vamos a desglosar el proceso en partes muy sencillas. No necesitas ser un gurú de la línea de comandos, solo seguir las instrucciones al pie de la letra. Al final, tendrás tu mysql remoto directadmin funcionando perfectamente.

Entendiendo el flujo: ¿Qué vamos a hacer?

Antes de tocar nada, es crucial entender los tres "filtros" que debemos atravesar para que una conexión externa sea exitosa. Es como pasar por tres puertas de seguridad:

  1. El Firewall del Servidor: La primera barrera. El puerto 3306 (el de MySQL) suele estar cerrado al exterior. Debemos abrirlo solo para tu IP.
  2. La Configuración de MySQL (DirectAdmin): Aquí es donde le decimos a MySQL "oye, deja entrar a este usuario desde fuera".
  3. Los Privilegios del Usuario: No basta con abrir el puerto; el usuario de la base de datos debe tener permiso explícito para conectarse desde una IP remota.

Vamos a por ello.

Fase 1: Preparación y Recopilación de Datos

Necesitamos saber exactamente desde dónde te vas a conectar. Esto es muy importante por seguridad.

Identifica tu IP Pública

No me refiero a la IP local (192.168.x.x), sino a la IP pública de tu casa u oficina. Puedes averiguarla fácilmente buscando en Google "cuál es mi IP" o usando sitios web como whatismyip.com. Anota ese número, lo usaremos varias veces.

Reúne tus Credenciales de DirectAdmin

Asegúrate de tener a mano:

  • Tu Usuario y Contraseña de acceso a DirectAdmin.
  • El nombre de la base de datos y el usuario que quieres conectar de forma remota.

[INFO] Si no tienes una base de datos creada, entra en tu panel de DirectAdmin, busca la sección "MySQL Management" y crea una nueva junto con su usuario. Recuerda que en DirectAdmin, los nombres suelen llevar un prefijo con tu usuario, por ejemplo: tuusuario_basededatos.

Fase 2: Abriendo el Puerto 3306 en el Firewall

Este es el paso más común para fallar. Si tu servidor usa CSF (ConfigServer Security & Firewall), que es el más habitual en los VPS y servidores dedicados con DirectAdmin, haremos lo siguiente:

Acceso SSH (Línea de Comandos)

Necesitarás conectarte a tu servidor por SSH. Usa un programa como PuTTY (en Windows) o la terminal (en Mac/Linux). Conéctate como usuario root (o un usuario con permisos sudo).

Añadir la Regla de Entrada

Escribe el siguiente comando, reemplazando TU_IP_PUBLICA por la IP que anotaste antes:

csf -a TU_IP_PUBLICA

Este comando añade tu IP a la lista blanca del firewall, permitiendo el acceso a todos los puertos (incluido el 3306) solo para esa IP.

Si prefieres ser más restrictivo y solo abrir el puerto 3306 para esa IP (más seguro), usa:

csf -a TU_IP_PUBLICA eth0

O si tu interfaz de red es otra (como ens3), ajústalo. Después de ejecutar cualquiera de los dos, escribe:

csf -r

Esto reinicia el firewall y aplica los cambios.

[WARNING] ¡No uses csf -P 3306 o csf -A out a menos que sepas exactamente lo que haces! Eso abriría el puerto a todo el mundo, una puerta abierta para bots y ataques. La regla -a es la más segura porque solo permite tu IP.

Verificar el Puerto

Después de aplicar la regla, verifica que el puerto esté "escuchando" en tu servidor:

netstat -tulpn | grep 3306

Deberías ver una línea que muestre 0.0.0.0:3306 o ::3306. Si solo ves 127.0.0.1:3306, significa que MySQL está atado solo a localhost y necesitamos el siguiente paso.

Fase 3: Configurando MySQL para Escuchar en Todas las Interfaces

MySQL, por defecto, solo escucha en localhost (127.0.0.1). Para que acepte conexiones externas, debemos modificar su archivo de configuración.

Editar el Archivo de Configuración

Accede por SSH y edita el archivo my.cnf (o my.ini en algunos sistemas). Normalmente está en /etc/my.cnf o /etc/mysql/my.cnf.

nano /etc/my.cnf

Busca la sección [mysqld]. Dentro de ella, busca una línea que diga bind-address. Si existe, cámbiala a:

bind-address = 0.0.0.0

Si no existe, añádela debajo de [mysqld].

[INFO] 0.0.0.0 significa "todas las interfaces de red". Es lo que necesitamos para que acepte conexiones desde fuera. No te preocupes, el firewall aún nos protege.

Reiniciar el Servicio MySQL

Guarda el archivo (en nano: Ctrl+X, luego Y y Enter) y reinicia MySQL:

service mysql restart

O si usas MariaDB:

service mariadb restart

[TIP] Si el servicio no reinicia, revisa los logs en /var/log/mysql/error.log para ver si hay errores de sintaxis en el archivo de configuración.

Fase 4: Configurando Host Remoto y Privilegios en DirectAdmin

Ahora viene la parte visual. Vamos a tu panel de DirectAdmin para gestionar los permisos del usuario de la base de datos.

Accede a tu Panel de DirectAdmin

Entra con tu usuario y contraseña habituales.

Busca la Gestión de MySQL

Dependiendo de la versión, verás un icono llamado "MySQL Management" o "MySQL". Haz clic en él.

Encuentra tu Usuario y Base de Datos

Verás una lista de tus bases de datos y usuarios. Busca el usuario que quieres conectar remotamente. A la derecha, normalmente hay un botón o enlace llamado "Edit" o "Permissions". Haz clic en "Edit".

Configura el Host Remoto

En la pantalla de edición, verás un campo llamado "Host" o "Access Hosts". Este campo define desde qué IP se puede conectar el usuario.

  • Por defecto, suele estar en localhost o %. (que significa cualquiera, pero no es recomendable).
  • Aquí viene la clave: Cambia el valor a la IP pública que anotaste al principio. Por ejemplo, escribe 203.0.113.45 (sustituye por tu IP real).

Si tu IP es dinámica (cambia de vez en cuando), puedes usar un rango, pero es menos seguro. Algo como 203.0.113.% para permitir todo el rango de esa subred.

[WARNING] NUNCA uses % como host remoto si no quieres que cualquiera en internet intente conectarse a tu base de datos. Es el error más grave de seguridad. Siempre especifica una IP o un rango limitado.

Guarda los Cambios

Haz clic en "Save" o "Update". DirectAdmin actualizará los privilegios del usuario en MySQL automáticamente.

Fase 5: Prueba de Conexión desde tu Máquina Local

Ya hemos cruzado las tres puertas. Ahora, vamos a comprobar que todo funciona desde tu ordenador.

Usa un Cliente MySQL

Puedes usar la línea de comandos de tu ordenador (si tienes MySQL instalado) o un programa gráfico como:

  • MySQL Workbench: El estándar de Oracle.
  • DBeaver: Muy completo y gratuito.
  • HeidiSQL: Ligero y rápido en Windows.

Configura los Datos de Conexión

En el cliente, introduce los siguientes datos:

  • Hostname: La IP pública de tu servidor (la misma que pusiste en el firewall y en DirectAdmin).
  • Puerto: 3306.
  • Username: El nombre de tu usuario de la base de datos (ej. tuusuario_miusuario).
  • Password: La contraseña de ese usuario.
  • Database: El nombre de tu base de datos (ej. tuusuario_mibasededatos).

Conecta y Verifica

Haz clic en "Test Connection" o directamente "Connect". Si todo está bien, verás un mensaje de éxito y podrás ver las tablas de tu base de datos.

[INFO] Si el test falla, no te desesperes. Vuelve a revisar los pasos 2, 3 y 4. El 90% de las veces es un problema de firewall o de host remoto mal escrito.

Resolución de Problemas Comunes (FAQ)

Aquí tienes las soluciones a los problemas más típicos que encontrarás en este proceso.

"Error 2003 (HY000): Can't connect to MySQL server on 'X.X.X.X' (111)"

Este error significa que el servidor ha rechazado la conexión. Las causas más comunes son:

  1. El firewall está bloqueando: Revisa que la regla csf -a TU_IP esté activa. Puedes listar las reglas con csf -l y buscar tu IP.
  2. MySQL no está escuchando en la IP externa: Verifica el bind-address en el paso 3.
  3. El puerto está cerrado en el proveedor: Algunos hosts (muy raro) bloquean el puerto 3306 a nivel de red. Contacta a tu proveedor de hosting para confirmar.

"Error 1045 (28000): Access denied for user 'usuario'@'IP_de_tu_casa'"

Este error es de autenticación. MySQL ha aceptado la conexión de red, pero el usuario no tiene permiso para conectarse desde esa IP.

  • Revisa el paso 4: Asegúrate de que el host remoto en DirectAdmin sea exactamente la IP desde la que te estás conectando. Si tu IP ha cambiado, actualiza el campo.
  • Recuerda los prefijos: En DirectAdmin, el usuario real en MySQL es tuusuario_miusuario, no solo miusuario.

"Error 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)"

Este error suele ocurrir al probar desde el propio servidor. Significa que el cliente MySQL en tu servidor está intentando conectarse a través del socket local, pero no lo encuentra.

  • Prueba con TCP/IP: En lugar de usar localhost, usa 127.0.0.1 o la IP pública del servidor en tu cliente MySQL.
  • Verifica que MySQL esté corriendo: Ejecuta service mysql status o ps aux | grep mysql.

Mi IP es dinámica, ¿qué hago?

Si tu IP cambia a menudo, tienes dos opciones:

  1. Rango de IP: Si tu proveedor de internet te da un rango fijo (ej. 85.50.0.0 a 85.50.255.255), puedes usar 85.50.%.% como host remoto. Es menos seguro pero funcional.
  2. VPN: La opción más segura. Conéctate a una VPN que tenga una IP pública estática y usa esa IP en la configuración.

Conclusión: Tu mysql remoto directadmin está listo

¡Felicidades! Has configurado con éxito el acceso remoto mysql en tu servidor DirectAdmin. Has aprendido a abrir el firewall, modificar la configuración de MySQL y asignar los permisos correctos al usuario.

Recuerda siempre estos puntos clave:

  • Seguridad ante todo: Solo abre el puerto para tu IP específica. Nunca para todo el mundo.
  • Documenta tus cambios: Guarda en un lugar seguro la IP y el puerto que has configurado.
  • Monitorea los logs: Echa un vistazo de vez en cuando a los logs de MySQL (/var/log/mysql/error.log) para detectar intentos de conexión fallidos.

Ahora ya puedes conectar tu aplicación externa sin problemas. Si en el futuro necesitas ayuda con otros temas, como la configuración de Syspanel (que recuerda que se accede por el puerto 2106), no dudes en consultar más guías. ¡Hasta la próxima!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel