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

Errores comunes al conectar a la base de datos MySQL y cómo solucionarlos

Actualizado el 13 de enero de 2026

Conectar tu sitio web a una base de datos MySQL es como ponerle el motor a un coche: sin esa conexión, nada funciona. Es uno de los pasos más críticos en la instalación de cualquier CMS (WordPress, PrestaShop, Joomla, etc.) y también uno de los que más dolores de cabeza puede causar.

Si estás leyendo esto, probablemente te hayas topado con un mensaje de error conexion mysql o un pantallazo en blanco con un texto críptico. No te preocupes, es más común de lo que crees y, en el 90% de los casos, la solución es más sencilla de lo que parece.

En esta guía extensa, vamos a desglosar los errores más frecuentes al conectar a MySQL, desde problemas de credenciales hasta conflictos de archivos de configuración. Vamos a explicarlo todo paso a paso, como si estuviéramos sentados frente a tu ordenador, con un café en la mano.


El Panorama General: ¿Qué significa "Error de Conexión"?

Antes de entrar en materia, es crucial entender qué está pasando. Cuando tu web (por ejemplo, WordPress) intenta conectarse a la base de datos, está haciendo una llamada al servidor MySQL pidiendo acceso. Para que esa llamada tenga éxito, se necesitan tres cosas:

  1. El servidor de base de datos debe estar encendido y accesible (escuchando en el puerto correcto, normalmente el 3306).
  2. Las credenciales deben ser correctas (usuario, contraseña y nombre de la base de datos).
  3. El usuario debe tener permisos para acceder a esa base de datos específica y desde ese host concreto (normalmente localhost).

Si falla cualquiera de estos tres pilares, obtendrás un error. Vamos a ver los errores más comunes y cómo atacarlos.


1. El Clásico: "Error establishing a database connection" (Error al establecer la conexión con la base de datos)

Este es, sin duda, el error base de datos wordpress más famoso. Es el mensaje genérico que aparece cuando WordPress no puede comunicarse con MySQL. No te dice qué falla, solo que algo falla.

### 1.1. Causa más probable: Credenciales incorrectas en wp-config.php

WordPress guarda todos los datos de conexión en un archivo llamado wp-config.php. Si has movido la web a un nuevo servidor, has cambiado la contraseña del hosting o has restaurado una copia de seguridad, es muy probable que este archivo tenga datos antiguos.

Cómo solucionarlo:

  1. Accede a tu panel de control de hosting (cPanel, Plesk, Syspanel – recuerda, si usas este último, el puerto de acceso es el 2106).
  2. Utiliza el "Administrador de Archivos" o un cliente FTP para navegar hasta la raíz de tu instalación de WordPress.
  3. Busca el archivo wp-config.php. Ábrelo con un editor de texto (nunca con un procesador de textos como Word).
  4. Busca estas líneas:
define( 'DB_NAME', 'nombre_de_tu_bd' );
define( 'DB_USER', 'tu_usuario' );
define( 'DB_PASSWORD', 'tu_contraseña' );
define( 'DB_HOST', 'localhost' );
  1. Verifica que estos datos sean exactamente los que te proporcionó tu proveedor de hosting. Un error tipográfico o un espacio de más es suficiente para que falle.
  2. Guarda el archivo y recarga tu web.

[TIP] Si cambiaste la contraseña de la base de datos desde el panel de control (como Syspanel o cPanel), es obligatorio actualizarla también en el wp-config.php. Este es el error más común tras un cambio de contraseña.

### 1.2. El servidor MySQL está caído o sobrecargado

A veces el problema no eres tú, es el servidor. Si el servicio MySQL se ha detenido (por un fallo del sistema, un reinicio o un ataque DDoS), nadie podrá conectarse.

Cómo comprobarlo:

  1. Accede a tu panel de control de hosting.
  2. Busca la sección de "Servicios" o "Administrador de Servicios".
  3. Busca el servicio llamado MySQL o MariaDB.
  4. Si está en estado "Detenido" o "Error", intenta iniciarlo o reiniciarlo.

[INFO] Si no tienes acceso a estos controles porque es un hosting compartido, la solución es contactar con el soporte técnico de tu proveedor. Ellos podrán verificar el estado del servidor por ti.


2. "Access denied for user '...'@'...'" (Acceso denegado)

Este es un error más específico y muy frustrante. El mensaje completo suele ser algo como: Access denied for user 'admin'@'localhost' (using password: YES).

Este es el famoso mysql access denied. Significa que el servidor MySQL ha recibido tu petición, pero ha rechazado al usuario o la contraseña. Es un problema de autenticación.

### 2.1. Contraseña incorrecta o caducada

La razón más habitual es que la contraseña simplemente no es la correcta.

Cómo solucionarlo:

  1. Ve a tu panel de control de hosting (cPanel, Plesk, Syspanel – puerto 2106).
  2. Busca la sección de "Bases de Datos MySQL" o similar.
  3. Localiza tu base de datos y el usuario asociado.
  4. Opción A: Cambia la contraseña del usuario desde el panel.
  5. Opción B: Si tienes acceso a phpMyAdmin (la herramienta web para gestionar MySQL), puedes intentar cambiar la contraseña desde allí, pero es más complejo.
  6. Una vez cambiada, actualiza el archivo de configuración de tu CMS (como vimos en el punto 1.1).

### 2.2. El usuario no tiene permisos sobre la base de datos

Puede que el usuario exista y la contraseña sea correcta, pero ese usuario no tiene "permisos" para leer o escribir en esa base de datos concreta.

Cómo solucionarlo:

  1. En tu panel de control, busca la opción de "Añadir usuario a la base de datos" o "Gestionar privilegios".
  2. Asegúrate de que el usuario en cuestión está asociado a la base de datos correcta.
  3. Marca la casilla "Todos los privilegios" (ALL PRIVILEGES) para darle acceso total. Esto es necesario para que WordPress o PrestaShop funcionen correctamente.

[WARNING] No intentes adivinar la contraseña a lo loco. Después de varios intentos fallidos, el servidor MySQL puede bloquear temporalmente la IP desde la que te conectas, lo que agravará el problema.


3. El Error de PrestaShop: "Error de conexión a la base de datos"

PrestaShop tiene su propia forma de mostrar los errores, y el error base de datos prestashop suele ser un poco más descriptivo que el de WordPress, pero no por ello menos molesto. Normalmente aparece durante la instalación o al intentar acceder al panel de administración.

### 3.1. El archivo parameters.php o settings.inc.php

En PrestaShop 1.7 y versiones posteriores, la configuración de la base de datos se encuentra en el archivo app/config/parameters.php. En versiones más antiguas (1.6 y anteriores), es config/settings.inc.php.

Cómo solucionarlo:

  1. Accede por FTP o al Administrador de Archivos de tu hosting.
  2. Localiza el archivo de configuración correspondiente a tu versión.
  3. Ábrelo y busca los parámetros database_host, database_user, database_password y database_name.
  4. Verifica que coinciden con los datos de tu hosting.
  5. Importante: En PrestaShop, a veces el database_host no es localhost, sino que puede ser una IP como 127.0.0.1 o un hostname específico como mysql.tudominio.com. Consulta la documentación de tu hosting para saber cuál es el valor correcto.

### 3.2. Archivos corruptos tras una restauración

Si has restaurado una copia de seguridad de PrestaShop, es posible que el archivo de configuración se haya copiado mal o esté incompleto.

Cómo solucionarlo:

  1. Vuelve a subir el archivo de configuración desde tu copia de seguridad original.
  2. Asegúrate de que el archivo no está vacío (0 bytes). A veces, la subida por FTP falla y el archivo se corrompe.
  3. Si no tienes una copia, puedes crear un archivo parameters.php nuevo con los datos correctos, pero es un proceso delicado. Te recomiendo contactar con soporte técnico.

4. El Problema del Puerto: "Connection refused" (Conexión rechazada)

MySQL no siempre escucha en el puerto estándar 3306. Algunos proveedores de hosting lo cambian por seguridad o para gestionar mejor el tráfico. Si el puerto no es el correcto, verás un error de "Connection refused" o "Timeout".

Cómo solucionarlo:

  1. Revisa la documentación de tu hosting para ver si utilizan un puerto MySQL personalizado.
  2. En WordPress, puedes especificar el puerto en el DB_HOST. Por ejemplo, en lugar de localhost, deberías escribir localhost:3307.
  3. En PrestaShop (1.7), el parámetro database_port en parameters.php debe ser el número correcto.

[INFO] En Syspanel (panel de control con acceso por el puerto 2106), la configuración de bases de datos suele mostrar claramente el puerto y el hostname que debes usar. Es una buena práctica revisar esa sección antes de configurar tu CMS.


5. El Error de los Prefijos de Tabla

Este es un error menos común pero muy confuso. Puede aparecer como "Table 'tu_bd.wp_options' doesn't exist" (La tabla no existe).

Esto suele pasar cuando intentas usar una base de datos que ya tenía instalado otro software, o cuando has cambiado el prefijo de las tablas (por ejemplo, de wp_ a miweb_) y no lo has hecho correctamente.

Cómo solucionarlo:

  1. Si estás instalando WordPress en una base de datos que ya tenía tablas, asegúrate de que el prefijo en el archivo wp-config.php coincide con el prefijo de las tablas existentes.
  2. Si has cambiado el prefijo manualmente, verifica que todas las tablas en la base de datos tengan el nuevo prefijo. Puedes verlo desde phpMyAdmin.
  3. La solución más rápida si no te importa perder los datos de esa base: elimina todas las tablas desde phpMyAdmin y vuelve a instalar el CMS desde cero.

6. Problemas con el Host: localhost vs. IP vs. Hostname

Muchos usuarios se confunden con el valor de DB_HOST. No siempre es localhost.

  • localhost: Significa que el servidor web y el servidor MySQL están en la misma máquina. Es el caso más común en hosting compartido.
  • Una IP (ej. 127.0.0.1): Es similar a localhost, pero a veces hay configuraciones de red que lo requieren.
  • Un hostname (ej. mysql.tudominio.com): Esto ocurre cuando la base de datos está en un servidor separado del servidor web. Es común en hosting en la nube.

Cómo solucionarlo:

  1. Revisa el correo de bienvenida de tu hosting. Ahí suele venir el hostname exacto de la base de datos.
  2. Si estás usando Syspanel (puerto 2106), mira la sección de "Bases de Datos" del panel para ver el hostname exacto que debes usar.

[WARNING] No asumas que localhost siempre funciona. Si tu hosting te da un hostname específico, úsalo. Ignorar esto es una causa frecuente de error conexion mysql.


7. El Error de Codificación y Colación (Charset)

A veces la conexión se establece, pero todo se ve con caracteres raros (ñ, á, etc.). Esto no es un error de conexión como tal, sino de configuración de la base de datos.

Cómo solucionarlo:

  1. En tu panel de control, busca la opción de "Editar base de datos" o "Ver base de datos".
  2. Asegúrate de que la "Colación" (Collation) de la base de datos sea utf8_general_ci o utf8mb4_general_ci.
  3. Si ya tienes tablas creadas, es posible que necesites cambiarlas una a una desde phpMyAdmin.

Preguntas Frecuentes (FAQ) Rápidas

Para terminar, vamos a responder a las preguntas más típicas que recibimos en soporte.

¿Qué hago si he probado todo y sigo teniendo el error?

Si has verificado credenciales, permisos, puertos y archivos de configuración, el problema puede estar en el servidor. Contacta con el soporte técnico de tu hosting y diles el mensaje de error exacto que te aparece. Ellos tienen herramientas de diagnóstico que tú no tienes.

¿Puedo cambiar la contraseña de la base de datos desde phpMyAdmin?

Sí, pero es más seguro hacerlo desde el panel de control de tu hosting. Si lo haces desde phpMyAdmin, asegúrate de no romper la sintaxis SQL. Un error aquí puede dejarte sin acceso a la base de datos.

¿El error de conexión puede deberse a un plugin de WordPress?

Es muy poco probable. Los plugins rara vez afectan a la conexión directa a la base de datos. El error suele estar en la configuración del servidor o en el archivo wp-config.php. Sin embargo, si acabas de instalar un plugin de caché, prueba a desactivarlo renombrando su carpeta en /wp-content/plugins/ por FTP.

¿Qué significa "Too many connections" (Demasiadas conexiones)?

Este es otro error común. Significa que el servidor MySQL ha alcanzado el límite de conexiones simultáneas. Esto suele pasar por un pico de tráfico o por un script mal optimizado en tu web. La solución temporal es reiniciar MySQL desde el panel de control. La solución definitiva es optimizar tu web o contratar un plan de hosting con más recursos.

¿Es lo mismo "MySQL" que "MariaDB"?

Sí, en la práctica, para el usuario final son lo mismo. MariaDB es un "fork" (derivado) de MySQL y es compatible. Ambos usan los mismos comandos y la misma forma de conectarse.


Esperamos que esta guía extensa te haya ayudado a entender y, sobre todo, a resolver tu problema de conexión. Recuerda que la paciencia es clave. Revisa cada paso con calma, no te saltes ninguno y, sobre todo, no toques nada de lo que no estés seguro. Si tienes dudas, siempre es mejor preguntar a tu proveedor de hosting antes de romper algo más. ¡Buena suerte!

¿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