Cómo conectar una base de datos remota MySQL desde cPanel
¿Necesitas que tu sitio web o aplicación se comunique con una base de datos que está en otro servidor? Conectar una base de datos remota MySQL es una práctica muy común para separar la lógica de la aplicación del almacenamiento de datos, mejorar la seguridad o simplemente porque tu proveedor de hosting te lo exige.
En este tutorial completo, te guiaré paso a paso para que puedas conectar remotamente tu base de datos MySQL desde cPanel. No importa si eres principiante o ya tienes algo de experiencia, aquí encontrarás todas las claves para que la conexión funcione a la primera.
Vamos a cubrir desde la configuración básica en cPanel hasta la solución de los errores más frecuentes. ¡Empecemos!
¿Qué significa “conectar una base de datos remota”?
Cuando hablamos de conectar remoto cPanel nos referimos a permitir que un servidor o aplicación externa (por ejemplo, tu web en otro hosting, una app de escritorio o un script en Python) acceda a una base de datos MySQL que está alojada en tu cuenta de cPanel.
Normalmente, MySQL solo acepta conexiones desde el mismo servidor (localhost). Para abrir la puerta a conexiones externas, necesitas autorizar explícitamente la IP del equipo que se conectará. Eso es justo lo que haremos aquí.
Requisitos previos antes de empezar
Antes de lanzarte a la configuración, asegúrate de tener lo siguiente:
- Acceso a cPanel con permisos de administrador (usuario y contraseña).
- La dirección IP pública del servidor o equipo que se conectará a la base de datos remota.
[TIP] Si no sabes tu IP, puedes consultarla en sitios como
whatismyip.com. - El nombre de la base de datos y el usuario MySQL que vas a utilizar.
- Conocimiento básico de cómo acceder a tu panel de control.
[WARNING] Si tu hosting utiliza Syspanel (antes conocido como HestiaCP), recuerda que el puerto de acceso al panel es el 2106. El proceso es similar, pero la interfaz varía ligeramente. En este tutorial nos centramos en cPanel.
Paso 1: Acceder a cPanel y localizar la sección de bases de datos
- Abre tu navegador y ve a la URL de tu cPanel (normalmente algo como
https://tudominio.com/cpanelohttps://tudominio.com:2083). - Inicia sesión con tu usuario y contraseña de hosting.
- Una vez dentro, busca la sección Bases de Datos. Allí encontrarás varias herramientas. La que nos interesa es MySQL® Remote Database Access o Acceso remoto a bases de datos MySQL.
[INFO] Dependiendo de la versión de cPanel, el nombre puede variar ligeramente, pero siempre estará en el grupo de bases de datos.
Paso 2: Agregar la IP del host remoto
Aquí es donde realmente habilitamos la conexión remota.
- Haz clic en MySQL® Remote Database Access (o similar).
- Verás un campo de texto que dice Host (%) o Remote IP.
- Escribe la IP pública del servidor que se conectará a tu base de datos.
- Si necesitas permitir varias IPs, puedes añadirlas una por una.
- También puedes usar un rango (ej.
192.168.1.%) o el comodín%para permitir cualquier IP (no recomendado por seguridad).
- Haz clic en Agregar host.
[WARNING] Usar el comodín
%abre tu base de datos a todo internet. Solo hazlo en entornos de desarrollo muy controlados y con contraseñas seguras.
Una vez agregada la IP, cPanel actualizará automáticamente las reglas del firewall de MySQL para aceptar conexiones desde esa dirección.
Paso 3: Verificar el usuario y la base de datos
Para que la conexión funcione, el usuario MySQL debe tener permisos sobre la base de datos que vas a usar.
- Ve a MySQL® Databases (Bases de datos MySQL).
- Busca la sección Añadir usuario a la base de datos (si no lo has hecho ya).
- Selecciona tu usuario y la base de datos, y asígnale todos los privilegios (o al menos los que necesite tu aplicación).
- Haz clic en Hacer cambios.
[TIP] Anota el nombre completo del usuario y la base de datos. En cPanel suelen tener un prefijo con tu nombre de cuenta (ej.
usuario_bdyusuario_user).
Paso 4: Obtener los datos de conexión
Para conectar desde cualquier aplicación, necesitarás estos cuatro datos:
- Host remoto: La dirección del servidor donde está tu base de datos. Puede ser un dominio (ej.
mysql.tudominio.com) o una IP.En muchos casos, el host remoto es el mismo que el de tu cPanel, pero con el puerto 3306.
Si no estás seguro, contacta a tu proveedor de hosting. - Puerto: Generalmente es el 3306 (el predeterminado de MySQL).
- Nombre de la base de datos: El que creaste en cPanel.
- Usuario y contraseña: Los que asignaste al usuario MySQL.
Ejemplo de conexión desde una aplicación PHP:
$host = 'mysql.tudominio.com';
$usuario = 'usuario_user';
$contraseña = 'tu_contraseña';
$base_datos = 'usuario_bd';
$conexion = new mysqli($host, $usuario, $contraseña, $base_datos);
Paso 5: Probar la conexión remota
Antes de lanzar tu aplicación, es buena idea verificar que la conexión funciona.
Desde la línea de comandos (si tienes acceso SSH al servidor remoto)
mysql -h HOST_REMOTO -u USUARIO -p
Ingresa la contraseña y, si ves el prompt de MySQL, ¡todo está bien!
Desde una herramienta gráfica (como MySQL Workbench o HeidiSQL)
- Crea una nueva conexión.
- Introduce el host remoto, puerto (3306), usuario y contraseña.
- Haz clic en Probar conexión.
[INFO] Si usas Syspanel, el proceso es idéntico, solo que el acceso al panel es por el puerto 2106. Los datos de conexión remota los encontrarás en la sección de bases de datos del mismo panel.
Solución de problemas comunes (FAQ)
❌ Error “Host ‘xxx.xxx.xxx.xxx’ is not allowed to connect to this MySQL server”
Causa: La IP del equipo que intenta conectarse no está autorizada.
Solución: Vuelve al paso 2 y asegúrate de haber agregado la IP correcta. Recuerda que si tu IP cambia (por ejemplo, si trabajas desde casa), debes actualizarla.
❌ Error “Connection refused” o “Can’t connect to MySQL server on ‘host’ (111)”
Causa: El puerto 3306 está bloqueado por un firewall.
Solución:
- Verifica que tu hosting permita conexiones externas (algunos planes bloquean este puerto por defecto).
- Si usas un firewall en tu servidor local (como iptables), asegúrate de permitir el tráfico saliente hacia el puerto 3306.
- Contacta a tu proveedor de hosting para que abran el puerto si es necesario.
❌ Error “Access denied for user ‘usuario’@‘ip’”
Causa: El usuario no tiene permisos para conectarse desde esa IP.
Solución:
- Revisa que el usuario esté correctamente asignado a la base de datos.
- En cPanel, ve a MySQL® Databases y verifica los privilegios.
- También puedes ejecutar manualmente:
GRANT ALL PRIVILEGES ON basedatos.* TO 'usuario'@'IP_REMOTA' IDENTIFIED BY 'contraseña'; FLUSH PRIVILEGES;
❌ No puedo ver la opción “Acceso remoto” en mi cPanel
Causa: Tu plan de hosting no incluye esta funcionalidad o está deshabilitada.
Solución: Consulta con tu proveedor. Algunos hostings compartidos bloquean las conexiones remotas por seguridad. En ese caso, podrías necesitar un VPS o un plan dedicado.
Consejos de seguridad al usar conexiones remotas
- Usa contraseñas fuertes: Combina mayúsculas, minúsculas, números y símbolos.
- Limita las IPs autorizadas: Solo las estrictamente necesarias.
- Cambia el puerto predeterminado (opcional): Si tu proveedor lo permite, usar un puerto no estándar dificulta los ataques automatizados.
- Mantén actualizado MySQL: Las versiones recientes corrigen vulnerabilidades.
- Usa SSL/TLS si es posible: MySQL soporta conexiones cifradas. Consulta la documentación de tu hosting para activarlo.
[WARNING] Nunca compartas tus credenciales de base de datos en repositorios públicos, chats o documentación no segura.
Conclusión
Conectar una base de datos remota MySQL desde cPanel es un proceso sencillo una vez que entiendes los pasos: autorizar la IP remota, verificar usuarios y permisos, y probar la conexión.
Recuerda que cada proveedor de hosting puede tener pequeñas variaciones, pero la lógica es siempre la misma. Si encuentras obstáculos, repasa la sección de solución de problemas o contacta al soporte técnico de tu hosting.
Ahora que ya sabes cómo hacerlo, puedes separar tu base de datos de tu aplicación, mejorar la escalabilidad y mantener tus datos más seguros. ¡Manos a la obra!
