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

Configurar una base de datos remota en Syspanel

Actualizado el 16 de diciembre de 2025

Introducción: ¿Por qué necesitas una base de datos remota?

Cuando trabajas con aplicaciones web o servicios que requieren acceso a una base de datos desde diferentes ubicaciones (como un servidor de aplicaciones, un script en otro hosting o un equipo de desarrollo local), configurar una conexión remota MySQL se vuelve esencial. En lugar de limitar el acceso solo desde el mismo servidor donde está alojada la base de datos, puedes permitir que otros servidores o IPs específicas se conecten de forma segura.

En este artículo, te guiaré paso a paso para que aprendas a configurar base de datos remota Syspanel de manera sencilla y segura. Usaremos Syspanel (anteriormente conocido como HestiaCP), el panel de control que incluye herramientas para gestionar bases de datos MySQL/MariaDB. Recuerda que el acceso a tu panel Syspanel se realiza a través del puerto 2106.

[INFO] Syspanel base de datos remota te permite conectar aplicaciones externas, como un CMS o un script personalizado, a tu base de datos sin necesidad de moverla a otro servidor.


Requisitos previos antes de empezar

Antes de lanzarte a configurar la conexión remota, asegúrate de tener lo siguiente:

  • Acceso a Syspanel: Necesitas las credenciales de administrador o de un usuario con permisos para gestionar bases de datos.
  • Dirección IP fija o rango de IPs: Para mayor seguridad, debes conocer la IP desde la que te conectarás (por ejemplo, la IP de tu servidor de aplicaciones o tu IP doméstica). Si es dinámica, considera usar una VPN o un rango.
  • Usuario de base de datos existente: Puedes crearlo desde Syspanel. Necesitarás el nombre de usuario y contraseña.
  • Conocimiento básico de MySQL: Aunque te guiaré, es útil saber qué es un host, un usuario y una base de datos.

[WARNING] No habilites conexiones remotas desde cualquier IP (0.0.0.0) a menos que sea estrictamente necesario y tengas medidas de seguridad adicionales como firewall o VPN. Esto expone tu base de datos a ataques.


Paso 1: Acceder a Syspanel y localizar la base de datos

  1. Abre tu navegador y escribe la dirección de tu servidor seguida de :2106. Por ejemplo: https://tudominio.com:2106 o https://192.168.1.100:2106.
  2. Inicia sesión con tu usuario y contraseña de Syspanel.
  3. En el menú principal, busca la sección Bases de Datos. Normalmente está en el panel izquierdo o en el encabezado, dependiendo de la versión.

[TIP] Si no ves la opción Bases de Datos, verifica que tu usuario tenga permisos de administrador o que el plan de hosting incluya esta funcionalidad.


Paso 2: Crear una base de datos y un usuario (si no los tienes)

Si aún no has creado la base de datos que deseas conectar remotamente, sigue estos pasos:

  1. Dentro de la sección Bases de Datos, haz clic en Añadir Base de Datos o +.
  2. Completa los campos:
    • Nombre de la base de datos: Elige un nombre descriptivo, por ejemplo miapp_db.
    • Usuario: Se generará automáticamente o puedes personalizarlo. Por ejemplo, miapp_user.
    • Contraseña: Genera una segura o crea una manualmente. Anótala porque la necesitarás después.
  3. Haz clic en Guardar.

Ahora tienes una base de datos local. El siguiente paso es permitir conexiones externas.


Paso 3: Configurar el acceso remoto en MySQL/MariaDB

Por defecto, MySQL solo permite conexiones desde localhost (127.0.0.1). Para habilitar conexión remota MySQL Syspanel, debes modificar la configuración del servidor de bases de datos.

3.1 Acceder al servidor por SSH

Necesitas conectarte a tu servidor mediante SSH. Si no tienes experiencia, pide ayuda a tu proveedor de hosting o usa un cliente como PuTTY (Windows) o la terminal (Mac/Linux).

ssh usuario@tudominio.com

3.2 Editar el archivo de configuración de MySQL

El archivo de configuración suele estar en /etc/mysql/mysql.conf.d/mysqld.cnf o /etc/my.cnf. Búscalo con:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Dentro del archivo, busca la línea:

bind-address = 127.0.0.1

Cámbiala por:

bind-address = 0.0.0.0

Esto le dice a MySQL que escuche en todas las interfaces de red. También puedes poner una IP específica si tu servidor tiene múltiples IPs.

[WARNING] Si pones 0.0.0.0, asegúrate de que tu firewall solo permita conexiones desde IPs de confianza. Nunca dejes el puerto 3306 abierto a todo internet sin protección.

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

sudo systemctl restart mysql

3.3 Verificar que el cambio se aplicó

Puedes comprobar que MySQL está escuchando en todas las interfaces con:

sudo netstat -tlnp | grep 3306

Deberías ver algo como 0.0.0.0:3306.


Paso 4: Conceder permisos al usuario remoto

Ahora debes decirle a MySQL que el usuario que creaste puede conectarse desde una IP específica (no solo desde localhost).

  1. Conéctate a MySQL desde la terminal:
mysql -u root -p
  1. Introduce la contraseña de root de MySQL (no la de Syspanel).

  2. Ejecuta el siguiente comando para otorgar permisos. Reemplaza 'miapp_user' con tu usuario, 'contraseña' con su contraseña y 'IP_REMOTA' con la IP desde la que te conectarás (por ejemplo, '192.168.1.50'). Si no sabes la IP, puedes usar '%' para cualquier IP, pero no es recomendable.

GRANT ALL PRIVILEGES ON miapp_db.* TO 'miapp_user'@'IP_REMOTA' IDENTIFIED BY 'contraseña';
FLUSH PRIVILEGES;

[TIP] Si necesitas permitir varias IPs, repite el comando con cada una o usa un rango como '192.168.1.%' para toda una subred.

  1. Sal de MySQL con EXIT;.

Paso 5: Configurar el firewall del servidor

Incluso si MySQL ya escucha en todas las interfaces, el firewall del sistema (como ufw o iptables) puede bloquear el puerto 3306. Debes abrirlo solo para la IP remota confiable.

Si usas ufw (Ubuntu/Debian):

sudo ufw allow from IP_REMOTA to any port 3306
sudo ufw enable

Si usas firewalld (CentOS/RHEL):

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="IP_REMOTA" port protocol="tcp" port="3306" accept'
sudo firewall-cmd --reload

[WARNING] No abras el puerto 3306 a 0.0.0.0/0 (todo el mundo). Siempre limita el acceso a direcciones IP específicas.


Paso 6: Probar la conexión remota desde tu aplicación o cliente

Ya tienes todo configurado. Ahora prueba la conexión desde el equipo remoto usando un cliente MySQL (como MySQL Workbench, DBeaver o la línea de comandos).

Desde la terminal de tu equipo remoto:

mysql -h tudominio.com -u miapp_user -p miapp_db

Si todo está bien, te pedirá la contraseña y accederás a la base de datos.

[INFO] Si usas un dominio, asegúrate de que apunte a la IP correcta de tu servidor. También puedes usar la IP directamente.


Solución de problemas comunes (FAQ)

1. No puedo conectarme, aparece "Connection refused"

  • Verifica que MySQL esté corriendo: sudo systemctl status mysql
  • Revisa que el bind-address esté en 0.0.0.0.
  • Comprueba el firewall: ¿está abierto el puerto 3306 para tu IP?
  • Asegúrate de que el usuario tenga permisos para la IP remota.

2. Error "Host '...' is not allowed to connect to this MySQL server"

  • Ejecutaste el GRANT correctamente? Vuelve al Paso 4 y asegúrate de usar la IP correcta.
  • Recuerda que después de modificar permisos debes hacer FLUSH PRIVILEGES.

3. La conexión funciona pero es muy lenta

  • Puede deberse a la latencia de red. Considera usar una VPN o un túnel SSH para mejorar la velocidad.
  • También verifica que tu aplicación no esté haciendo consultas ineficientes.

4. ¿Puedo conectar desde cualquier IP si uso una VPN?

  • Sí, es más seguro. Configura tu VPN y luego permite la IP del servidor VPN en el firewall y en los permisos de MySQL.

5. ¿Cómo veo las conexiones activas en MySQL?

  • Desde MySQL: SHOW PROCESSLIST; muestra las conexiones actuales.

Buenas prácticas de seguridad para bases de datos remotas

  • Usa contraseñas fuertes: Combina mayúsculas, minúsculas, números y símbolos.
  • Limita las IPs: Nunca uses '%' a menos que tengas un firewall muy restrictivo.
  • Cambia el puerto por defecto (opcional): Algunos administradores cambian el puerto 3306 por otro para evitar escaneos automáticos. Esto requiere modificar la configuración de MySQL y del firewall.
  • Usa SSL/TLS: Para conexiones remotas, habilita SSL en MySQL para cifrar los datos en tránsito.
  • Monitorea los logs: Revisa periódicamente /var/log/mysql/error.log para detectar intentos de acceso no autorizados.

Conclusión

Configurar una Syspanel base de datos remota no es complicado si sigues los pasos adecuados. Recuerda que la clave está en la seguridad: permite solo las IPs necesarias, usa contraseñas robustas y mantén actualizado tu servidor. Con esta guía, podrás conectar tus aplicaciones externas a tu base de datos alojada en Syspanel de forma rápida y confiable.

Si encuentras algún problema, revisa la sección de FAQ o consulta con tu proveedor de hosting Syspanel database. ¡Ahora ya estás listo para trabajar con conexiones remotas como un profesional!

[TIP] Guarda esta guía en tus favoritos. Cada vez que necesites configurar una nueva conexión remota, solo tendrás que repetir los pasos 3 a 6.

¿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