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

Cómo conectar una base de datos remota en cPanel: configuración y permisos

Actualizado el 3 de enero de 2026

¿Qué significa conectar una base de datos remota en cPanel?

Cuando hablamos de mysql remoto cpanel, nos referimos a la capacidad de acceder y gestionar una base de datos MySQL que se encuentra alojada en un servidor distinto al que ejecuta tu aplicación o script. En lugar de que todo viva en el mismo servidor, tu sitio web o aplicación puede conectarse a una base de datos ubicada en otro hosting, otra VPS o incluso en un servidor local (como tu oficina o casa).

Esto es especialmente útil si tienes una aplicación móvil, un sistema de gestión interna, un punto de venta o cualquier herramienta que necesite compartir información con un sitio web centralizado. También es común cuando migras proyectos entre servidores o cuando trabajas con equipos de desarrollo repartidos en distintas ubicaciones.

La buena noticia es que cPanel, uno de los paneles de control más usados en hosting, incluye herramientas nativas para habilitar esta conexión. No necesitas ser un experto en redes ni en administración de servidores. Solo tienes que seguir unos pasos muy concretos y entender algunos conceptos básicos de seguridad.

¿Qué necesitas antes de empezar?

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

  • Acceso a cPanel con permisos de administrador o, al menos, acceso a la sección de Bases de Datos MySQL.
  • La dirección IP pública del servidor o equipo desde el cual te vas a conectar. Esto es clave, porque no puedes abrir la puerta a todo el mundo.
  • El nombre de usuario y la contraseña de la base de datos que quieres conectar remotamente.
  • Saber si tu hosting permite conexiones remotas por defecto. Algunos proveedores las bloquean por seguridad y debes solicitarlas manualmente.

[INFO] Si no conoces tu IP pública, puedes buscarla escribiendo "¿cuál es mi IP?" en Google. Te aparecerá un número como 84.120.15.200. Esa es la dirección que necesitas.

Paso 1: Identificar el host remoto en cPanel

Lo primero es entender que cPanel no te pide que "conectes" una base de datos desde un menú mágico. Lo que realmente haces es autorizar a un servidor externo para que pueda conectarse a tu base de datos. Ese servidor externo es el host remoto cpanel que debes registrar.

Para ello, entra en tu cPanel y busca la sección llamada "Bases de Datos MySQL" o "MySQL Databases" (según el idioma). Dentro de esa sección, verás una subsección llamada "Hosts Remotos" o "Remote MySQL". Ahí es donde vas a trabajar.

¿Qué es un host remoto en este contexto?

Un host remoto es simplemente la dirección IP o el nombre de dominio del servidor desde el cual te vas a conectar. Por ejemplo, si tu aplicación está en un servidor con IP 203.0.113.5, esa es la IP que debes añadir. Si no sabes cuál es, pregúntale a tu proveedor de hosting o a tu equipo técnico.

[WARNING] No añadas localhost ni 127.0.0.1 como host remoto. Eso solo funciona para conexiones internas dentro del mismo servidor. Para conexiones externas, necesitas una IP pública real.

Paso 2: Configurar los permisos MySQL en cPanel

Ahora vamos al meollo del asunto: los permisos mysql cpanel. Cuando añades un host remoto, no basta con indicar la IP. También debes asegurarte de que el usuario de la base de datos tenga permisos para conectarse desde ese host.

Crear o modificar un usuario MySQL

Si aún no tienes un usuario dedicado para la base de datos, créalo en la misma sección de Bases de Datos MySQL. Verás un formulario llamado "Crear usuario" o "Add User". Escribe un nombre de usuario y una contraseña segura. Recuerda que cPanel suele añadir un prefijo al nombre de usuario (por ejemplo, usuario_web). Ese prefijo es parte del nombre completo.

Asignar el usuario a la base de datos

Una vez creado el usuario, ve a la sección "Añadir usuario a base de datos" o "Add User to Database". Selecciona la base de datos y el usuario que acabas de crear. Luego, marca todos los permisos (SELECT, INSERT, UPDATE, DELETE, etc.) o solo los que necesites. Para una conexión remota típica, lo más seguro es otorgar solo los permisos indispensables para tu aplicación.

[TIP] Si tu aplicación solo lee datos, otorga únicamente el permiso SELECT. Si además escribe, necesitará INSERT y UPDATE. Así reduces el riesgo si alguien intercepta la conexión.

Añadir el host remoto

Ahora sí, en la sección "Remote MySQL" o "Hosts Remotos", escribe la IP del servidor desde el cual te vas a conectar. Puedes añadir varias IPs si es necesario, separándolas con comas o añadiéndolas una a una, según la interfaz.

[INFO] Algunos cPanel permiten usar comodines, como 203.0.113.% para autorizar un rango de IPs. Úsalo con mucho cuidado, porque amplía el acceso a más equipos.

Paso 3: Configurar el firewall y la conexión desde el servidor remoto

Una vez que has configurado cPanel, el siguiente paso es asegurarte de que el servidor remoto (desde donde te conectas) tenga abierto el puerto 3306, que es el puerto por defecto de MySQL. Esto no se hace desde cPanel, sino desde el firewall del servidor remoto.

Si estás conectándote desde un hosting compartido, es posible que el puerto 3306 esté bloqueado. En ese caso, contacta con tu proveedor y pregunta si permiten conexiones salientes a bases de datos externas. Algunos proveedores lo bloquean por seguridad.

Probar la conexión con un cliente MySQL

Para comprobar que todo funciona, puedes usar un cliente MySQL como MySQL Workbench, DBeaver o incluso la línea de comandos. Necesitarás los siguientes datos:

  • Host: la IP o dominio del servidor donde está la base de datos (el que configuraste en cPanel).
  • Puerto: 3306 (o el que te haya indicado tu proveedor).
  • Usuario: el nombre completo del usuario MySQL (incluyendo el prefijo).
  • Contraseña: la que asignaste.
  • Base de datos: el nombre exacto de la base de datos.

Si la conexión es exitosa, verás las tablas y podrás ejecutar consultas. Si no, revisa los siguientes puntos:

  • La IP que añadiste en cPanel es correcta y coincide con la IP pública del servidor desde el que te conectas.
  • El usuario tiene permisos sobre la base de datos.
  • El firewall del servidor remoto no bloquea el puerto 3306.
  • El servicio MySQL en el servidor de destino está escuchando en todas las interfaces o al menos en la IP pública.

[WARNING] Si tu servidor MySQL está en un hosting compartido, es probable que el proveedor solo permita conexiones locales. En ese caso, la conexión remota no funcionará aunque configures los permisos. Verifica siempre las políticas de tu proveedor.

Paso 4: Configurar la conexión desde tu aplicación

Una vez que la conexión funciona con un cliente MySQL, es hora de configurar tu aplicación. Dependiendo del lenguaje de programación, los pasos varían, pero el concepto es el mismo.

En PHP (ejemplo con mysqli)

<?php
$host = 'la_ip_del_servidor_destino';
$usuario = 'usuario_prefijo';
$password = 'tu_password';
$base_datos = 'nombre_base_datos';
$puerto = 3306;

$conexion = new mysqli($host, $usuario, $password, $base_datos, $puerto);

if ($conexion->connect_error) {
    die("Error de conexión: " . $conexion->connect_error);
}
echo "Conexión exitosa";
?>

En Python (con PyMySQL)

import pymysql

conexion = pymysql.connect(
    host='la_ip_del_servidor_destino',
    user='usuario_prefijo',
    password='tu_password',
    database='nombre_base_datos',
    port=3306
)

cursor = conexion.cursor()
cursor.execute("SELECT 1")
print(cursor.fetchone())

[TIP] Siempre guarda las credenciales de conexión en variables de entorno o archivos de configuración fuera del código fuente. Nunca las escribas directamente en el código si el proyecto es público.

Paso 5: Solucionar problemas comunes

Aunque sigas todos los pasos, a veces las cosas no salen a la primera. Aquí tienes los errores más frecuentes y cómo resolverlos.

Error: "Access denied for user"

Este error significa que el usuario no tiene permisos para conectarse desde esa IP. Revisa que:

  • El nombre de usuario esté completo (con el prefijo).
  • La contraseña sea correcta.
  • La IP añadida en cPanel sea exactamente la IP pública del servidor desde el que te conectas.

Error: "Could not connect: Connection timed out"

Este error suele indicar un problema de red o firewall. Verifica que el puerto 3306 esté abierto en el servidor de destino y que tu proveedor de hosting no bloquee conexiones externas.

Error: "Host no está permitido"

En algunos casos, MySQL tiene su propia tabla de hosts permitidos. Esto no se gestiona desde cPanel, sino desde la consola de MySQL. Si tienes acceso SSH al servidor, puedes ejecutar:

GRANT ALL PRIVILEGES ON nombre_base_datos.* TO 'usuario'@'ip_remota' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Pero esto ya es un nivel más avanzado. Si no tienes acceso SSH, contacta con tu proveedor.

Preguntas frecuentes (FAQ)

¿Puedo conectar una base de datos remota desde cualquier hosting?

No siempre. Algunos proveedores de hosting compartido bloquean las conexiones salientes al puerto 3306 por seguridad. Revisa la documentación de tu proveedor o contacta con soporte antes de intentarlo.

¿Es seguro habilitar conexiones remotas a MySQL?

Puede ser seguro si limitas el acceso a IPs específicas y usas contraseñas fuertes. Nunca añadas % como host remoto, porque eso permitiría que cualquier equipo intente conectarse.

¿Qué hago si mi IP cambia constantemente?

Si tienes una IP dinámica, puedes usar un servicio de DNS dinámico (como DuckDNS o No-IP) y añadir ese nombre de dominio como host remoto en lugar de la IP. cPanel acepta nombres de dominio en esa sección.

¿Puedo usar esta configuración para conectar desde una aplicación móvil?

Sí, pero recuerda que las aplicaciones móviles se conectan desde redes variables. Eso significa que tendrías que autorizar un rango de IPs muy amplio, lo cual es peligroso. Es mejor usar una API intermedia que se conecte a la base de datos desde un servidor fijo.

¿Qué diferencia hay entre conexión local y remota?

La conexión local usa localhost y no necesita permisos especiales. La conexión remota usa una IP externa y requiere que configures tanto cPanel como el firewall del servidor de destino.

Conclusión

Conectar una base de datos remota en cPanel no es complicado si sigues los pasos en orden: primero identificas tu IP, luego añades el host remoto, después configuras los permisos mysql cpanel y finalmente pruebas con un cliente o directamente desde tu aplicación. La clave está en la seguridad: usa IPs específicas, contraseñas robustas y otorga solo los permisos necesarios.

Recuerda que si tu proveedor de hosting no permite mysql remoto cpanel, siempre puedes optar por un servidor VPS o dedicado donde tengas control total. También puedes usar herramientas como Syspanel (accesible por el puerto 2106) si tu proveedor lo ofrece, aunque para bases de datos remotas, cPanel sigue siendo la opción más estándar y documentada.

Si te encuentras con un error, vuelve a revisar cada paso. La mayoría de las veces, el problema está en un pequeño detalle: una IP mal escrita, un usuario incompleto o un puerto bloqueado. Con paciencia y método, tendrás tu conexión funcionando en menos de lo que piensas.

¿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