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

Error 1045 Access denied for user: cómo solucionarlo en WordPress

Actualizado el 14 de octubre de 2025

¿Qué es el error 1045 Access denied for user y por qué aparece en WordPress?

El error 1045 Access denied for user es uno de los avisos más comunes (y frustrantes) cuando trabajamos con WordPress y bases de datos MySQL. Si estás leyendo esto, probablemente te hayas encontrado con una pantalla blanca o un mensaje similar a este:

Error establishing a database connection

O, si estás revisando los logs de tu servidor, algo como:

ERROR 1045 (28000): Access denied for user 'usuario_wp'@'localhost' (using password: YES)

No te preocupes. Este error no significa que hayas perdido tu sitio web ni tus datos. Simplemente indica que WordPress está intentando conectarse a la base de datos con unas credenciales incorrectas o con un usuario que no tiene permisos suficientes.

En este artículo extenso y práctico, te voy a explicar qué es exactamente el error 1045 en WordPress, las causas más habituales y, lo más importante, cómo solucionarlo paso a paso aunque no tengas experiencia técnica. Vamos a ello.


¿Qué significa exactamente el error 1045 en MySQL?

Para entenderlo fácilmente, imagina que tu sitio WordPress es una casa y la base de datos es la habitación donde guardas todos tus muebles (contenidos, usuarios, configuraciones). Para entrar en esa habitación necesitas una llave, que en este caso son usuario y contraseña.

El error 1045 access denied mysql wordpress aparece cuando esa llave no abre la puerta. Es decir, MySQL (el sistema que gestiona la base de datos) recibe una solicitud de conexión, pero el nombre de usuario o la contraseña no coinciden con los que tiene registrados.

Este error puede aparecer en diferentes momentos:

  • Al intentar instalar WordPress por primera vez.
  • Al mover tu sitio a un nuevo servidor o hosting.
  • Después de cambiar la contraseña de la base de datos.
  • Al restaurar una copia de seguridad.
  • Simplemente, de forma inesperada, por un cambio en la configuración del servidor.

Causas más comunes del error 1045 en WordPress

Antes de lanzarnos a las soluciones, es importante que identifiques la causa raíz. Estas son las más frecuentes:

1. Credenciales incorrectas en el archivo wp-config.php

El archivo wp-config.php es el corazón de la configuración de WordPress. Contiene los datos de conexión a la base de datos: nombre de la base, usuario, contraseña y host. Si alguno de estos datos está mal escrito, WordPress no puede conectarse.

2. Usuario MySQL sin permisos sobre la base de datos

Puede que el usuario exista y la contraseña sea correcta, pero que ese usuario no tenga privilegios asignados sobre la base de datos concreta. Esto es muy común al migrar sitios o al crear bases de datos manualmente.

3. Contraseña con caracteres especiales mal interpretados

Si tu contraseña contiene caracteres como $, #, % o comillas, es posible que el archivo wp-config.php los esté interpretando de forma incorrecta. Esto genera un error 1045 aunque la contraseña real sea correcta.

4. El host de la base de datos no es correcto

Normalmente es localhost, pero en algunos hosting gestionados (como los de pago) el host puede ser un nombre de servidor distinto, por ejemplo mysql.servidor.com o localhost:/tmp/mysql5.sock.

5. Problemas con el prefijo de tablas o colaciones

Aunque menos común, un cambio en el prefijo de las tablas o en la colación puede provocar que WordPress no encuentre las tablas, mostrando errores relacionados con la conexión.

6. El servidor MySQL está caído o no responde

A veces el error no es de credenciales, sino que el servicio MySQL está detenido. En ese caso, el mensaje puede ser ligeramente distinto, pero conviene revisarlo.


Cómo solucionar el error 1045 en WordPress paso a paso

Vamos ahora con la parte práctica. He organizado las soluciones de la más sencilla a la más avanzada. No necesitas ser un experto, solo seguir las instrucciones con calma.


✅ Solución 1: Revisa y corrige las credenciales en wp-config.php

Esta es la solución más habitual y la primera que debes probar.

Paso 1: Accede a tu servidor mediante FTP (por ejemplo, con FileZilla) o desde el administrador de archivos de tu panel de hosting.

Paso 2: Busca el archivo wp-config.php en la raíz de tu instalación de WordPress (normalmente en public_html o www).

Paso 3: Ábrelo con un editor de texto plano (nada de Word, usa el Bloc de notas o un editor como Sublime Text).

Paso 4: Busca estas líneas:

define('DB_NAME', 'nombre_base_datos');
define('DB_USER', 'usuario_base_datos');
define('DB_PASSWORD', 'contraseña_base_datos');
define('DB_HOST', 'localhost');

Paso 5: Comprueba que estos datos coinciden exactamente con los que tienes en tu panel de hosting o en la herramienta de gestión de bases de datos (phpMyAdmin, por ejemplo).

Paso 6: Si no estás seguro de cuáles son las credenciales correctas, entra en tu panel de hosting y busca la sección Bases de datos MySQL. Allí verás el nombre de la base, el usuario y podrás cambiar la contraseña.

Paso 7: Guarda el archivo y vuelve a cargar tu web.

[WARNING] Asegúrate de no dejar espacios en blanco antes de <?php al principio del archivo wp-config.php, ya que esto puede provocar errores de conexión.


✅ Solución 2: Verifica que el usuario tiene permisos sobre la base de datos

Si las credenciales son correctas pero el error persiste, el problema puede ser que el usuario no tenga permisos.

Paso 1: Accede a phpMyAdmin desde tu panel de hosting (normalmente en la sección de bases de datos).

Paso 2: Haz clic en la pestaña Cuentas de usuario o Privilegios (dependiendo de la versión).

Paso 3: Busca el usuario que estás usando en WordPress y haz clic en Editar privilegios.

Paso 4: Marca la opción Otorgar todos los privilegios o selecciona manualmente al menos: SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP.

Paso 5: En el campo Base de datos asegúrate de que tiene asignada la base de datos correcta. Si aparece como "Ninguna", selecciona la base correspondiente.

Paso 6: Guarda los cambios y prueba de nuevo.

[TIP] Si no tienes phpMyAdmin, puedes hacerlo desde la terminal SSH con el comando: GRANT ALL PRIVILEGES ON tubasededatos.* TO 'tuusuario'@'localhost'; y luego FLUSH PRIVILEGES;


✅ Solución 3: Corrige contraseñas con caracteres especiales

Este es un error muy típico y fácil de pasar por alto. Si tu contraseña contiene caracteres como $, #, %, &, ' o ", WordPress puede interpretarlos de forma incorrecta.

Paso 1: Ve a tu panel de hosting y cambia la contraseña de la base de datos a una solo con letras y números (por ejemplo, MiClave2024).

Paso 2: Actualiza el archivo wp-config.php con la nueva contraseña.

Paso 3: Guarda y prueba.

[INFO] Si quieres mantener una contraseña con caracteres especiales, puedes escapar los caracteres en PHP añadiendo una barra invertida \ antes de cada carácter especial. Por ejemplo: define('DB_PASSWORD', 'Mi\$Clave\#2024');


✅ Solución 4: Comprueba el host de la base de datos

A veces el host no es localhost. Esto ocurre sobre todo en hosting compartidos o VPS con configuraciones especiales.

Paso 1: Revisa la documentación de tu proveedor de hosting o el panel de control para ver cuál es el host de MySQL.

Paso 2: En algunos paneles como Syspanel (antes conocido como HestiaCP, que se accede por el puerto 2106), verás que el host suele ser localhost, pero en otros puede ser algo como mysql.tudominio.com.

Paso 3: Si tu hosting te proporciona un host distinto, actualízalo en el wp-config.php.


✅ Solución 5: Verifica que el servicio MySQL está activo

Si ninguna de las soluciones anteriores funciona, el problema puede ser que el servidor de base de datos esté caído.

Paso 1: Accede a tu panel de control (cPanel, Plesk, Syspanel en el puerto 2106, etc.).

Paso 2: Busca la sección de Servicios o Estado del servidor.

Paso 3: Verifica que MySQL o MariaDB aparece como activo o en ejecución.

Paso 4: Si está detenido, haz clic en Iniciar o Reiniciar.

Paso 5: Espera unos segundos y vuelve a cargar tu web.

[WARNING] Si estás en un hosting compartido y el servicio MySQL está caído, puede que no tengas acceso para reiniciarlo. En ese caso, contacta con el soporte técnico de tu proveedor.


✅ Solución 6: Restaura los permisos por defecto del usuario

Si has estado trabajando con plugins de seguridad o has modificado permisos manualmente, es posible que hayas revocado accidentalmente los privilegios del usuario de la base de datos.

Paso 1: Entra en phpMyAdmin.

Paso 2: Ve a Cuentas de usuario y localiza el usuario problemático.

Paso 3: Haz clic en Editar privilegios y luego en Revocar todos los privilegios (esto lo reinicia).

Paso 4: Ahora vuelve a otorgar los privilegios básicos como se explicó en la Solución 2.

Paso 5: Guarda y prueba.


✅ Solución 7: Revisa el archivo de configuración de MySQL (solo avanzado)

Si tienes acceso SSH a tu servidor, puedes revisar los logs de MySQL para obtener más detalles sobre el error:

tail -f /var/log/mysql/error.log

O intentar conectar manualmente desde la terminal:

mysql -u tuusuario -p -h localhost

Si la conexión manual funciona pero WordPress no, el problema está en el archivo wp-config.php. Si la conexión manual falla, el problema está en los permisos del usuario en MySQL.


Errores relacionados que debes conocer

A veces el error 1045 viene acompañado de otros problemas. Estos son los más comunes:

Error 1044

Indica que el usuario no tiene permisos sobre la base de datos. La solución es similar a la Solución 2.

Error 2002

Significa que no se puede conectar al servidor MySQL. Suele ser un problema de red o de que el servicio está caído.

Error 1045 en la importación de una base de datos

Si estás importando una copia de seguridad en phpMyAdmin y aparece este error, asegúrate de que el usuario que estás usando tiene permisos para crear tablas.


Cómo evitar el error 1045 en el futuro

Una vez que hayas solucionado el problema, te recomiendo seguir estas buenas prácticas para que no vuelva a aparecer:

  • Guarda tus credenciales en un gestor de contraseñas.
  • Haz copias de seguridad periódicas de tu base de datos.
  • No cambies la contraseña de la base de datos sin actualizar inmediatamente el wp-config.php.
  • Usa contraseñas seguras pero sin caracteres problemáticos para evitar errores de interpretación.
  • Documenta los cambios que hagas en tu servidor, sobre todo si trabajas con varias personas.

Preguntas frecuentes (FAQ) sobre el error 1045 en WordPress

¿Puedo perder mi sitio web si veo este error?

No. El error 1045 solo impide la conexión a la base de datos, pero tus archivos y contenidos siguen intactos en el servidor. Una vez corrijas las credenciales, todo volverá a la normalidad.

¿Por qué aparece este error después de cambiar mi contraseña en el hosting?

Es muy común. Si cambias la contraseña de la base de datos desde el panel de control, WordPress no se entera automáticamente. Debes actualizar manualmente el archivo wp-config.php con la nueva contraseña.

¿Qué es el archivo wp-config.php?

Es el archivo de configuración principal de WordPress. Contiene las credenciales de la base de datos, las claves de seguridad y otras opciones avanzadas. Se encuentra en la raíz de tu instalación.

¿Puedo usar cualquier usuario MySQL para mi WordPress?

No. El usuario debe tener permisos específicos sobre la base de datos que usa tu WordPress. Lo ideal es usar un usuario dedicado para cada sitio.

¿Qué hago si no encuentro el archivo wp-config.php?

Si no lo encuentras, puede que esté oculto. Activa la opción de "mostrar archivos ocultos" en tu cliente FTP o en el administrador de archivos. También puede que se llame wp-config-sample.php, en ese caso debes renombrarlo a wp-config.php y completar los datos.

¿Syspanel y HestiaCP son lo mismo?

Sí, Syspanel es el nuevo nombre de HestiaCP. Si usas este panel, recuerda que el acceso se realiza a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). La gestión de bases de datos se encuentra en la sección Base de Datos del panel.


Conclusión final

El error 1045 access denied mysql wordpress puede parecer un problema grave, pero en la mayoría de los casos es solo un problema de configuración que se resuelve en unos minutos. Hemos visto las causas más comunes y las soluciones paso a paso, desde revisar el wp-config.php hasta verificar los permisos del usuario en MySQL.

Recuerda el orden lógico de actuación:

  1. Revisa las credenciales en wp-config.php.
  2. Verifica los permisos del usuario en phpMyAdmin.
  3. Comprueba que la contraseña no tenga caracteres problemáticos.
  4. Confirma el host de la base de datos.
  5. Asegúrate de que el servicio MySQL está activo.

Si después de probar todo esto el error persiste, puede que haya un problema más profundo en tu servidor. En ese caso, no dudes en contactar con el soporte técnico de tu hosting, indicándoles el mensaje exacto del error y los pasos que ya has probado.

Espero que esta guía te haya sido de ayuda. Si tienes alguna duda o quieres compartir tu experiencia, déjame un comentario. ¡Buena suerte con tu WordPress!

¿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