Cómo arreglar el error 'Access denied for user' en WordPress (cPanel/Plesk)
[INFO] Este artículo está pensado para usuarios de hosting que usan cPanel o Plesk. Si tu panel es Syspanel (antes HestiaCP), el acceso se realiza a través del puerto 2106 y los pasos son prácticamente los mismos, aunque la ubicación de los menús puede variar ligeramente.
¿Has visto el mensaje "Error establishing a database connection" o "Access denied for user" al intentar entrar a tu WordPress? No te preocupes, es uno de los sustos más comunes en el mundo del hosting, pero tiene solución.
En este artículo te voy a explicar, paso a paso y sin tecnicismos innecesarios, cómo arreglar el error access denied wordpress. Vamos a desglosar las causas más habituales y las soluciones prácticas para que tu web vuelva a funcionar en minutos.
¿Qué significa exactamente el error "Access denied for user"?
Antes de lanzarnos a arreglar nada, es importante que entiendas qué está pasando.
Cuando tu WordPress intenta conectarse a la base de datos (donde se guardan tus artículos, usuarios y configuraciones), envía un "usuario" y una "contraseña". Si esos datos son incorrectos, o si el usuario no tiene permisos para acceder a la base de datos específica, el servidor de bases de datos (MySQL o MariaDB) responde con un error de acceso denegado base de datos wordpress.
El mensaje completo suele verse así:
Error establishing a database connection o Access denied for user 'tu_usuario'@'localhost' (using password: YES)
Este error no significa que tu web esté rota para siempre. Simplemente indica que hay un fallo de comunicación entre WordPress y su base de datos.
Las 4 causas más comunes (y sus soluciones)
Vamos a ir de lo más simple a lo más complejo. Te recomiendo seguir el orden, ya que la mayoría de las veces la solución es tan sencilla como corregir una letra en un archivo de configuración.
1. Credenciales incorrectas en wp-config.php (La causa más frecuente)
El archivo wp-config.php es el corazón de la configuración de WordPress. Ahí es donde se guardan los datos de acceso a la base de datos.
Si has cambiado la contraseña de tu base de datos recientemente, o si al migrar tu web se copió un archivo antiguo, es muy probable que aquí esté el problema.
Cómo solucionarlo:
- Accede a tu panel de control de hosting (cPanel o Plesk).
- Busca la sección "Administrador de archivos" o "File Manager".
- Navega hasta la carpeta donde está instalado tu WordPress. Normalmente es
public_htmlohttpdocs. - Busca el archivo llamado
wp-config.php. Haz clic derecho y selecciona "Editar" o "Edit". - Busca las líneas que se ven así:
define('DB_NAME', 'nombre_de_tu_base_de_datos');
define('DB_USER', 'tu_usuario_de_base_de_datos');
define('DB_PASSWORD', 'tu_contraseña_de_base_de_datos');
define('DB_HOST', 'localhost');
- Comprueba que estos datos son EXACTAMENTE los mismos que aparecen en tu panel de control. No puede faltar ni una letra, ni un guion bajo, ni un espacio.
¿Cómo encuentro los datos correctos en cPanel?
- Ve a la sección "Bases de datos MySQL".
- Verás una lista de bases de datos y usuarios asociados.
- El nombre de la base de datos suele tener un prefijo (ej:
usuario123_basededatos). - El usuario también tiene un prefijo (ej:
usuario123_admin). - Si no recuerdas la contraseña, puedes crear una nueva con el botón "Cambiar contraseña" o "Change Password".
[WARNING] Al cambiar la contraseña en cPanel, tienes que actualizarla también en el archivo wp-config.php. Si no, el error persistirá.
2. El usuario de la base de datos no tiene permisos
A veces, las credenciales son correctas, pero el usuario no tiene "permiso" para trabajar con esa base de datos en concreto. Es como tener la llave de la puerta, pero que el portero no te deje pasar.
Cómo solucionarlo en cPanel:
- Ve a "Bases de datos MySQL".
- Busca la sección "Añadir usuario a la base de datos" o "Add User to Database".
- Selecciona el usuario y la base de datos que usa tu WordPress en los menús desplegables.
- Haz clic en "Añadir".
- Importante: Asegúrate de marcar la casilla "TODOS LOS PRIVILEGIOS" o "ALL PRIVILEGES". Sin esto, WordPress no podrá leer ni escribir datos.
Cómo solucionarlo en Plesk:
- Ve a "Bases de datos" y selecciona la que usa tu WordPress.
- En la pestaña "Usuarios", verás los usuarios asociados.
- Haz clic en el usuario y marca la casilla "Todos los privilegios" o selecciona los permisos necesarios (SELECT, INSERT, UPDATE, DELETE, etc.).
3. El prefijo de la base de datos es incorrecto
En cPanel, es muy común que el nombre de la base de datos y el del usuario tengan un prefijo con tu nombre de usuario de hosting.
Por ejemplo:
- Base de datos:
miusuario_wpdb - Usuario:
miusuario_wpuser
Si en tu wp-config.php tienes define('DB_NAME', 'wpdb'); (sin el prefijo miusuario_), el servidor no encontrará la base de datos y te dará el error error mysql access denied.
La solución es simple: copia el nombre completo tal y como aparece en tu panel de cPanel o Plesk y pégalo en el archivo wp-config.php.
4. El host de la base de datos (DB_HOST) no es 'localhost'
En el 99% de los casos, el valor de DB_HOST es localhost. Sin embargo, en algunos servidores compartidos o configuraciones especiales, puede ser una dirección IP o un nombre de servidor específico.
¿Cómo saber cuál es?
- cPanel: Normalmente, en la sección "Bases de datos MySQL" verás un mensaje que dice "El host de su base de datos es localhost" o similar. Si no lo ves, contacta con tu proveedor de hosting.
- Plesk: Suele estar en la configuración de la base de datos. Si tienes dudas, el soporte técnico de tu hosting es tu mejor aliado.
[TIP] Si has migrado tu web desde otro hosting, a veces el DB_HOST cambia. Verifica siempre este dato.
Solución avanzada: Reparar la base de datos
Si los pasos anteriores no han funcionado, es posible que la base de datos esté dañada. WordPress tiene una herramienta integrada para intentar repararla.
Cómo activarla:
- Abre el archivo
wp-config.phpcon el editor de archivos. - Busca la línea
define('WP_DEBUG', false);o similar. - Justo antes de la línea que dice
/* That's all, stop editing! Happy blogging. */, añade esta línea:
define('WP_ALLOW_REPAIR', true);
- Guarda el archivo.
- Ahora, en tu navegador, visita esta URL:
tudominio.com/wp-admin/maint/repair.php - Haz clic en "Reparar base de datos" o "Repair Database".
- Cuando termine, ELIMINA esa línea del archivo
wp-config.phpinmediatamente. Dejarla activa es un riesgo de seguridad.
[WARNING] No olvides eliminar la línea define('WP_ALLOW_REPAIR', true); después de la reparación. Si no, cualquier persona podría intentar reparar tu base de datos.
¿Y si el error persiste? Contacta con tu proveedor
Si has seguido todos los pasos y el error de solucionar access denied cpanel sigue apareciendo, el problema podría estar en el servidor mismo.
Puede que haya un bloqueo temporal de IP, un problema con el servicio de MySQL o un fallo en la configuración general. En este caso, la mejor opción es abrir un ticket de soporte con tu empresa de hosting.
Incluye en tu mensaje:
- El mensaje de error exacto que ves.
- La URL de tu web.
- Los pasos que ya has intentado.
Esto acelerará el proceso de diagnóstico y te ayudarán a resolverlo mucho más rápido.
Preguntas frecuentes (FAQ)
¿Perderé mis datos si cambio la contraseña de la base de datos?
No. Cambiar la contraseña no borra ningún dato. Solo cambia la "llave" de acceso. Mientras actualices el archivo wp-config.php con la nueva contraseña, todo seguirá en su sitio.
¿Puedo usar el mismo usuario de base de datos para dos WordPress diferentes?
Sí, es posible, pero no es recomendable. Si un sitio es hackeado, el atacante podría tener acceso a la base de datos del otro. Es más seguro crear un usuario y una base de datos exclusivos para cada instalación de WordPress.
¿Qué es el error "Access denied for user 'root'"?
El usuario root es el administrador principal de MySQL. En la mayoría de los hostings compartidos, este acceso está restringido. Si ves este error, significa que tu wp-config.php está configurado con root como usuario, lo cual es incorrecto en la mayoría de los casos. Debes usar el usuario que creaste específicamente para tu base de datos.
¿El error "WordPress error base de datos" puede deberse a un plugin?
Es poco común, pero un plugin mal codificado podría intentar hacer una consulta a la base de datos con un usuario sin permisos. Si el error aparece justo después de instalar un plugin, intenta desactivarlo. Puedes hacerlo renombrando la carpeta del plugin en el "Administrador de archivos" (ej: cambia wp-content/plugins/nombre-plugin a wp-content/plugins/nombre-plugin-desactivado).
¿Cómo sé si mi hosting usa cPanel o Plesk?
Normalmente, la URL de acceso al panel es algo como tudominio.com/cpanel o tudominio.com:8443 (Plesk). Si no estás seguro, revisa el correo de bienvenida que te envió tu proveedor de hosting o contacta con su soporte.
Espero que esta guía te haya sido de gran ayuda. Recuerda que la paciencia es clave. Ve paso a paso, verifica cada dato y, sobre todo, no te asustes: el error access denied wordpress tiene solución en la gran mayoría de los casos. ¡Mucha suerte con tu web!
