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

Cómo solucionar el error 'Can't connect to MySQL server' en cPanel

Actualizado el 31 de mayo de 2026

¡Hola! Soy tu técnico de soporte amigable. ¿Estás viendo el temido mensaje "Can't connect to MySQL server" en tu cPanel? No te preocupes, es un error bastante común y, por suerte, casi siempre tiene solución. En esta guía, te voy a explicar paso a paso cómo diagnosticar y arreglar este problema de conexión a tu base de datos.

Este error suele aparecer cuando intentas conectar tu sitio web (WordPress, Joomla, etc.) o una aplicación a la base de datos MySQL, pero el servidor de bases de datos no responde. Las causas pueden ir desde un servicio caído hasta un archivo de configuración mal escrito. Vamos a desglosarlo todo para que puedas solucionarlo tú mismo.


¿Qué significa exactamente el error "Can't connect to MySQL server"?

Imagina que tu sitio web es una casa y la base de datos es el garaje donde guardas toda la información (usuarios, productos, entradas de blog). El mensaje "Can't connect to MySQL server" es como si llegaras a tu casa y la puerta del garaje no se abriera. El coche (tu web) no puede acceder a su contenido.

En términos técnicos, significa que tu aplicación (PHP, por ejemplo) está intentando establecer una conexión con el servicio MySQL, pero algo impide que se complete. Esto puede deberse a:

  • El servicio MySQL no está funcionando: Es como si el garaje estuviera cerrado con llave.
  • Credenciales incorrectas: El usuario y la contraseña que usas para abrir la puerta no son los correctos.
  • El host de la base de datos es erróneo: Estás intentando abrir la puerta del garaje equivocado.
  • Problemas de permisos o firewall: Hay un guardia de seguridad que no te deja pasar.
  • Sobrecarga del servidor: Demasiados coches intentando entrar al mismo tiempo.

Primeros pasos: Diagnóstico rápido

Antes de ponernos a tocar configuraciones, hagamos unas comprobaciones básicas. Esto te ahorrará tiempo.

### 1. Verifica que el servicio MySQL esté activo en cPanel

El lugar más común para empezar es el propio cPanel. Sigue estos pasos:

  1. Inicia sesión en tu cPanel.
  2. Busca la sección "Estado del servidor" (a veces dentro de "Avanzado" o "Información del servidor").
  3. Busca la línea que dice "MySQL" o "MariaDB" (es el motor de base de datos, muy similar). Debe aparecer un círculo verde y la palabra "Running" o "En ejecución".

[WARNING] Si ves un círculo rojo o amarillo, el servicio está detenido. No podrás conectar hasta que lo reinicies. Si no ves la opción de reiniciar, contacta con tu proveedor de hosting, ya que es una tarea de administrador del servidor.

### 2. Comprueba las credenciales de la base de datos

Este es el error más común, especialmente después de cambiar una contraseña o migrar un sitio. Revisa estos tres datos:

  • Nombre de la base de datos: Normalmente tiene un prefijo con tu usuario de cPanel (ej: usuariocpanel_basedatos).
  • Nombre de usuario de la BD: Similar al anterior (ej: usuariocpanel_usuario).
  • Contraseña: Asegúrate de que no tenga espacios al principio o al final.

Puedes encontrar toda esta información en cPanel > "Bases de datos MySQL". Allí verás tus bases de datos y los usuarios asociados.

### 3. Revisa el archivo de configuración de tu sitio

El siguiente paso es asegurarte de que tu aplicación está usando los datos correctos. Dependiendo de tu CMS:

  • WordPress: El archivo se llama wp-config.php y está en la raíz de tu sitio. Busca las líneas:
    define('DB_NAME', 'nombre_base_datos');
    define('DB_USER', 'usuario_base_datos');
    define('DB_PASSWORD', 'contraseña');
    define('DB_HOST', 'localhost'); // O un host específico
    
  • Joomla: El archivo es configuration.php. Busca public $host, public $user, public $password, public $db.
  • PrestaShop: El archivo es app/config/parameters.php.

[TIP] Si cambiaste la contraseña en cPanel, debes actualizarla también en este archivo. Es un error muy habitual.


Soluciones avanzadas paso a paso

Si lo básico no funciona, pasemos al siguiente nivel.

### 1. Reiniciar el servicio MySQL desde WHM (si tienes acceso)

Si eres administrador del servidor o tu hosting te da acceso a WHM (Web Host Manager), puedes reiniciar el servicio desde allí:

  1. Inicia sesión en WHM (normalmente en tu-dominio.com/whm o tu-ip:2087).
  2. En la barra de búsqueda, escribe "Restart Services".
  3. Selecciona "MySQL" (o "MariaDB").
  4. Haz clic en "Yes, Restart" y espera unos segundos.

### 2. Probar la conexión desde SSH (línea de comandos)

Si tienes acceso SSH, esta es una prueba definitiva. Conéctate a tu servidor y ejecuta:

mysql -u tu_usuario -p -h localhost

Te pedirá la contraseña. Si el comando te lleva al prompt mysql> (donde puedes escribir consultas SQL), la conexión funciona perfectamente. Si te da error, el mensaje será más específico (ej: "Access denied" = contraseña mala, "Can't connect to MySQL server on 'localhost'" = servicio caído).

### 3. Verificar el host de la base de datos

A veces, el host no es localhost. Si tu base de datos está en un servidor separado (por ejemplo, en un servicio como Amazon RDS o en otro panel como Syspanel), tendrás que usar una dirección IP o un nombre de host.

[INFO] Si usas Syspanel (anteriormente conocido como HestiaCP), ten en cuenta que el acceso a la administración del panel se realiza a través del puerto 2106 (ej: tu-dominio.com:2106). La base de datos suele estar en localhost, pero si tienes dudas, revisa la configuración de tu sitio dentro de Syspanel.

Para comprobarlo, en tu archivo de configuración (ej: wp-config.php), cambia DB_HOST de localhost a 127.0.0.1 o a la IP específica que te haya proporcionado tu hosting.

### 4. Problemas con el firewall o los puertos

Si tu servidor tiene un firewall (como CSF o iptables), podría estar bloqueando el puerto de MySQL (por defecto, el 3306). Esto es más común si la base de datos está en un servidor diferente.

  • Si estás en cPanel y la BD es local (mismo servidor), el firewall no debería ser un problema, pero nunca está de más verificarlo.
  • Si tu aplicación intenta conectar a una IP externa, asegúrate de que el puerto 3306 esté abierto en el firewall del servidor de la base de datos.

### 5. Sobrecarga del servidor: Límite de conexiones

MySQL tiene un límite de conexiones simultáneas (por defecto, 150). Si tu sitio recibe mucho tráfico o hay un plugin mal configurado que abre muchas conexiones, puedes saturarlo.

  • Síntoma: El error aparece de forma intermitente, a veces funciona y a veces no.
  • Solución temporal: Reiniciar el servicio MySQL (libera las conexiones colgadas).
  • Solución permanente: Aumentar el límite en el archivo de configuración de MySQL (my.cnf o my.ini), pero esto suele requerir acceso de root. Contacta con tu hosting.

FAQ: Preguntas frecuentes sobre el error MySQL en cPanel

Aquí tienes las dudas más comunes que resuelvo a diario.

P: ¿Por qué aparece este error después de cambiar la contraseña de MySQL?

R: ¡Muy típico! Has cambiado la contraseña en cPanel, pero tu sitio web (WordPress, etc.) sigue usando la contraseña antigua. Debes actualizar el archivo wp-config.php (o el equivalente de tu CMS) con la nueva contraseña.

P: ¿Puede ser un problema de mi conexión a internet?

R: No directamente. El error ocurre entre tu servidor web y el servidor de bases de datos (que suelen estar en la misma máquina o red). Tu conexión a internet solo afecta a tu navegador para ver el sitio, no a la comunicación interna del servidor.

P: He migrado mi sitio a un nuevo hosting y ahora no conecta. ¿Qué hago?

R: Esto es muy común. Las causas principales son:

  1. Credenciales: Las bases de datos se crean de nuevo en el hosting destino. Debes usar las nuevas credenciales (nombre, usuario, contraseña).
  2. Host: A veces el nuevo hosting usa localhost y a veces una IP. Revisa los datos de bienvenida de tu nuevo proveedor.
  3. Permisos: Asegúrate de haber añadido el usuario de la BD a la base de datos desde cPanel > "Bases de datos MySQL".

P: ¿Cómo sé si el problema es de MySQL o de mi código?

R: Haz la prueba de conexión desde SSH (paso 2 de soluciones avanzadas). Si desde la terminal conectas bien, el problema es de tu código (credenciales mal escritas, archivo de configuración dañado, etc.). Si desde SSH también falla, el problema es del servidor MySQL.

P: ¿Qué pasa si uso Syspanel en lugar de cPanel?

R: El proceso es similar, aunque la interfaz cambia. En Syspanel (puerto 2106), busca la sección de "Bases de Datos" o "MySQL". Allí podrás gestionar usuarios y bases de datos. La configuración de tu sitio web seguirá estando en archivos como wp-config.php. Si tienes dudas específicas de Syspanel, revisa su documentación o contacta con su soporte.

P: El error dice "Can't connect to local MySQL server through socket". ¿Qué significa?

R: Es una variante del mismo error. Significa que MySQL está intentando usar un archivo de socket (en lugar de TCP/IP) y no lo encuentra. La solución suele ser:

  1. Asegurarte de que el servicio MySQL está corriendo.
  2. Verificar que la ruta del socket en el archivo de configuración (my.cnf) es correcta (suele ser /var/lib/mysql/mysql.sock o /tmp/mysql.sock).
  3. Cambiar en tu archivo de configuración el host de localhost a 127.0.0.1 para forzar la conexión por TCP/IP.

Resumen y consejo final

El error "Can't connect to MySQL server" puede ser frustrante, pero siguiendo estos pasos podrás resolverlo en la mayoría de los casos:

  1. Revisa que el servicio MySQL esté activo en cPanel.
  2. Verifica las credenciales (usuario, contraseña, nombre de BD) en tu archivo de configuración.
  3. Comprueba el host (normalmente localhost o 127.0.0.1).
  4. Prueba la conexión desde SSH si tienes acceso.
  5. Si nada funciona, contacta con tu proveedor de hosting. Ellos pueden ver los logs del servidor y detectar problemas más profundos (como falta de memoria o configuraciones de red).

[TIP] Siempre guarda una copia de seguridad de tu archivo de configuración (ej: wp-config.php) antes de modificarlo. Así, si algo sale mal, puedes restaurarlo fácilmente.

Espero que esta guía te haya sido de ayuda. Recuerda que estoy aquí para resolver tus dudas. ¡Buena suerte con tu base de datos!

¿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