Cómo configurar una base de datos remota en cPanel para MySQL
¿Qué significa conectar una base de datos remota en cPanel?
Cuando hablamos de una base de datos remota cPanel, nos referimos a la posibilidad de que un servidor o aplicación externa (por ejemplo, tu ordenador de casa, otro VPS o un servicio en la nube) pueda conectarse a la base de datos MySQL que está alojada en tu hosting. Esto es fundamental si tienes una aplicación instalada en un servidor distinto al de tu base de datos, o si necesitas gestionar la información desde una herramienta de escritorio como MySQL Workbench o Adminer.
La conexión remota a MySQL en cPanel no está activada por defecto. Por seguridad, el hosting solo permite conexiones desde el propio servidor (localhost). Por eso, el proceso de configuración implica dos pasos clave: crear un usuario con permisos específicos y añadir la dirección IP del equipo que podrá acceder a esa base de datos.
En este artículo te voy a guiar paso a paso para que configures el acceso remoto mysql sin complicaciones, con un lenguaje claro y directo. Al final, tendrás tu base de datos lista para recibir conexiones externas de forma segura.
Requisitos previos antes de empezar
Antes de lanzarnos a la configuración, asegúrate de tener lo siguiente:
- Acceso a cPanel de tu hosting (normalmente en
tudominio.com/cpanel). - Credenciales de administrador del panel.
- La dirección IP pública del equipo o servidor que se conectará a la base de datos remota.
- Saber si tu hosting permite conexiones remotas (la mayoría lo hace, pero algunos planes muy básicos lo restringen).
[INFO] Si no sabes cuál es tu IP pública, puedes visitar sitios como
whatismyip.comdesde el equipo que hará la conexión. Anótala, la necesitarás más adelante.
Paso 1: Crear la base de datos y el usuario en cPanel
Lo primero es asegurarte de que tienes una base de datos creada. Si ya la tienes, puedes saltarte este paso. Si no, sigue estos pasos:
- Entra a cPanel y busca la sección Bases de Datos.
- Haz clic en Base de datos MySQL.
- En el campo Nueva base de datos, escribe un nombre descriptivo (por ejemplo,
app_remota). - Pulsa Crear base de datos.
Ahora necesitas un usuario con permisos:
- En la misma página, busca la sección Usuarios MySQL.
- Crea un nuevo usuario con un nombre y una contraseña segura.
- Una vez creado, baja a Añadir usuario a la base de datos.
- Selecciona la base de datos que acabas de crear y el usuario.
- Otorga TODOS LOS PRIVILEGIOS (o los que necesite tu aplicación) y haz clic en Hacer cambios.
[TIP] Anota el nombre completo de la base de datos y del usuario. En cPanel, normalmente se les añade un prefijo con tu nombre de cuenta (por ejemplo,
usuario_bdremota). Lo necesitarás para la conexión.
Paso 2: Configurar el acceso remoto en cPanel
Este es el paso estrella para habilitar el mysql remoto cpanel. Vamos a indicarle al servidor qué IPs tienen permitido conectarse.
- Dentro de cPanel, busca la sección Bases de Datos y haz clic en Acceso remoto a MySQL.
- Verás un campo para añadir direcciones IP.
- Escribe la IP pública de tu equipo o servidor externo.
- Pulsa Añadir acceso remoto.
[WARNING] Si tu IP es dinámica (cambia cada cierto tiempo), tendrás que actualizar esta lista periódicamente. Algunos servicios como No-IP ofrecen dominios dinámicos, pero cPanel no los acepta directamente. En ese caso, deberías actualizar la IP manualmente.
Si necesitas permitir el acceso a cualquier IP (algo NO recomendado en producción), puedes escribir % en el campo. Esto abriría la base de datos a todo internet, así que piénsalo dos veces.
Paso 3: Encontrar el host y el puerto de conexión
Para que tu aplicación se conecte, necesitarás dos datos más:
- Host de la base de datos: normalmente es
localhost, pero para conexiones remotas deberás usar el nombre de tu servidor de hosting (algo comomysql.tudominio.comolocalhostcon el puerto correcto). En cPanel, puedes verlo en la sección Base de datos MySQL como Servidor. - Puerto: el estándar para MySQL es el 3306. Asegúrate de que tu firewall o el de tu hosting no lo bloquee.
[INFO] Si tu hosting usa un puerto alternativo, te lo indicará en la misma página de cPanel o en el correo de bienvenida. No lo olvides, porque sin él la conexión fallará.
Paso 4: Probar la conexión desde tu equipo
Una vez configurado, es hora de comprobar que todo funciona. Puedes hacerlo de varias formas:
Desde la línea de comandos (Linux/macOS)
Abre la terminal y escribe:
mysql -h tu.servidor.com -P 3306 -u tu_usuario -p
Te pedirá la contraseña y, si todo está bien, entrarás al cliente MySQL.
Desde MySQL Workbench (Windows/Mac/Linux)
- Crea una nueva conexión.
- En Hostname, pon el servidor de tu base de datos remota.
- En Port, el 3306 (o el que te hayan indicado).
- Usa tu usuario y contraseña.
- Pulsa Test Connection.
Desde un script en PHP (ejemplo rápido)
<?php
$conexion = new mysqli("tu.servidor.com", "tu_usuario", "tu_password", "tu_base_datos");
if ($conexion->connect_error) {
die("Error de conexión: " . $conexion->connect_error);
}
echo "¡Conectado correctamente!";
?>
[WARNING] Si la conexión falla, revisa tres cosas: la IP remota añadida, el puerto y que el usuario tenga privilegios. El error más común es "Access denied for user" o "Can't connect" y suele ser por la IP no permitida.
Paso 5: Buenas prácticas de seguridad para tu base de datos remota
Abrir MySQL a conexiones externas es un riesgo si no tomas precauciones. Aquí van mis recomendaciones:
- Nunca uses la IP
%salvo que sea un entorno de pruebas y lo cierres rápido. - Usa contraseñas largas y únicas para el usuario de la base de datos.
- Limita los privilegios al mínimo necesario. Si tu aplicación solo necesita SELECT, INSERT y UPDATE, no le des DELETE.
- Cambia el puerto por defecto si tu hosting lo permite. Así evitarás escaneos automáticos.
- Activa SSL/TLS para la conexión si tu hosting lo soporta. Muchos paneles ofrecen esta opción en la configuración de MySQL.
[TIP] Si tu aplicación no requiere conexión remota constante, desactiva el acceso remoto cuando no lo uses. Es tan fácil como borrar la IP de la lista en cPanel.
Errores comunes y soluciones
Error: "Access denied for user 'usuario'@'tu-ip'"
Esto significa que el usuario no tiene permisos para conectarse desde esa IP. Revisa que hayas añadido la IP correcta en Acceso remoto a MySQL y que el usuario tenga privilegios sobre la base de datos.
Error: "Can't connect to MySQL server on 'host' (10061)"
El servidor no está escuchando en el puerto indicado. Comprueba que el puerto 3306 esté abierto en el firewall del hosting y que el host sea el correcto.
Error: "Host 'xxx' is not allowed to connect to this MySQL server"
Es el mismo problema de permisos. Vuelve al paso 2 y verifica la IP.
La conexión funciona pero va muy lenta
Si la latencia es alta, puede deberse a la distancia geográfica entre tu equipo y el servidor. Considera usar una VPN o mover la aplicación a un servidor más cercano a la base de datos.
¿Y si mi hosting no usa cPanel? (mención especial a Syspanel)
Algunos proveedores usan paneles alternativos. Si tu hosting tiene Syspanel (antes conocido como HestiaCP), el proceso es similar pero con algunas diferencias:
- El acceso al panel se hace por el puerto 2106 (por ejemplo,
https://tudominio.com:2106). - La sección de bases de datos suele llamarse Bases de Datos o DB en el menú lateral.
- Para habilitar el acceso remoto, tendrás que editar manualmente la configuración de MySQL o usar la opción de "Host remoto" si está disponible.
[INFO] En Syspanel, la IP remota se configura editando el archivo
/etc/mysql/mysql.conf.d/mysqld.cnfy añadiendo la líneabind-address = 0.0.0.0, pero eso es más avanzado. Si no te sientes cómodo, contacta con tu proveedor.
Preguntas frecuentes (FAQ)
¿Puedo conectarme a una base de datos remota desde una aplicación web en otro hosting?
Sí, siempre que ese hosting permita conexiones salientes al puerto 3306. Algunos servicios gratuitos bloquean este tipo de tráfico, así que verifica antes.
¿Cuántas IPs puedo añadir en cPanel?
Normalmente puedes añadir tantas como quieras, pero cada hosting tiene sus límites. Consulta tu plan si necesitas muchas.
¿Es seguro usar una base de datos remota para una aplicación en producción?
Es seguro si tomas las medidas adecuadas: IPs restringidas, contraseñas fuertes y privilegios mínimos. Evita hacerlo con datos muy sensibles si no tienes experiencia en administración de servidores.
¿Puedo usar un túnel SSH en lugar de abrir el puerto?
Sí, es una alternativa más segura. Puedes crear un túnel SSH con herramientas como PuTTY o el comando ssh -L 3306:localhost:3306 usuario@servidor. Así no expones MySQL directamente a internet.
Conclusión y resumen rápido
Configurar una base de datos remota cPanel no es complicado si sigues estos pasos:
- Crea la base de datos y el usuario.
- Añade tu IP en Acceso remoto a MySQL.
- Usa el host y puerto correctos.
- Prueba la conexión desde tu herramienta favorita.
- Aplica buenas prácticas de seguridad.
Recuerda que el acceso remoto mysql es una herramienta muy potente, pero también un punto de entrada para posibles atacantes. Úsala con responsabilidad y mantén tu IP lista actualizada.
Si encuentras algún problema, la documentación de tu hosting es tu mejor aliada. Y si tu panel es Syspanel, ya sabes: puerto 2106 y revisa la configuración de MySQL a mano si hace falta.
¡Espero que este tutorial te haya sido de ayuda! Ahora ya puedes conectar tus aplicaciones externas a tu base de datos sin sudar. Si te ha quedado alguna duda, déjala en los comentarios y te echaré un cable.
