Desarrollo y bases de datos
Solucionar el error de conexión con la base de datos en WordPress
El mensaje Error establishing a database connection o Error al establecer una conexión con la base de datos indica que WordPress no puede leer su base MySQL. Es frecuente después de migrar la web, restaurar una copia o cambiar el usuario de la base de datos.
No reinstales WordPress ni importes repetidamente la base antes de identificar la causa. El error suele estar en la configuración, los permisos o el estado de MySQL, y sobrescribir datos puede complicar la recuperación.
Comprueba si el fallo afecta solo a WordPress
Antes de editar wp-config.php, intenta acceder a phpMyAdmin desde cPanel:
- Si phpMyAdmin abre y muestra las bases, MySQL está disponible y debes revisar la configuración de WordPress.
- Si tampoco puedes entrar o varias aplicaciones muestran errores, puede existir una incidencia general o un problema con la cuenta MySQL.
- Si la base aparece pero no contiene las tablas de WordPress, se importó una base distinta o la restauración no terminó correctamente.
Consulta cómo utilizar phpMyAdmin para revisar las tablas sin modificar su contenido.
Revisa los datos de wp-config.php
Abre wp-config.php en el directorio de WordPress y localiza:
define('DB_NAME', 'usuario_basedatos'); define('DB_USER', 'usuario_mysql'); define('DB_PASSWORD', 'contraseña_mysql'); define('DB_HOST', 'localhost');
Comprueba cada valor:
| Constante | Qué debe contener |
|---|---|
DB_NAME |
Nombre completo de la base de datos del destino |
DB_USER |
Usuario MySQL asociado a esa base |
DB_PASSWORD |
Contraseña actual de ese usuario MySQL |
DB_HOST |
Servidor indicado por el proveedor; en cPanel suele ser localhost |
En cPanel, el nombre de la cuenta se añade normalmente como prefijo a bases y usuarios. Si creaste wordpress y usuariodb, los nombres reales pueden ser micuenta_wordpress y micuenta_usuariodb.
No confundas la contraseña de cPanel, WordPress o correo con la contraseña del usuario MySQL. Son credenciales independientes.
Asocia el usuario con la base de datos
Crear una base y crear un usuario son dos acciones separadas. Además hay que asociarlos y asignar privilegios.
- En cPanel entra en Manage My Databases o utiliza el Asistente de bases de datos MySQL.
- Comprueba que el usuario indicado en
DB_USERexiste. - Añádelo a la base indicada en
DB_NAME. - Asigna los privilegios que necesite la aplicación; una instalación WordPress ordinaria utiliza todos los privilegios sobre su propia base.
- Guarda y vuelve a probar la web.
Este paso es una causa frecuente después de una migración manual: los ficheros y tablas están copiados, pero el nuevo usuario no tiene acceso a la base restaurada.
Verifica que importaste la base correcta
Desde phpMyAdmin, abre la base configurada y comprueba que contiene tablas como:
wp_optionswp_postswp_userswp_postmeta
El prefijo puede ser distinto de wp_. WordPress lo define en wp-config.php mediante $table_prefix:
$table_prefix = 'wp_';
Si las tablas usan otro prefijo, ajusta esa variable al valor existente. Cambiar el prefijo de las tablas sin una migración preparada puede dejar plugins o consultas personalizadas apuntando a nombres incorrectos.
Comprueba la contraseña del usuario MySQL
Si no puedes confirmar la contraseña actual, establece una nueva desde cPanel y actualiza inmediatamente DB_PASSWORD con el mismo valor.
Haz el cambio de forma coordinada: desde que modificas la contraseña en cPanel hasta que guardas wp-config.php, WordPress no podrá conectar. No publiques la contraseña en un ticket ni la reutilices para otros servicios.
Diferencia entre conexión y tablas dañadas
Una base con tablas dañadas puede producir mensajes diferentes o errores parciales dentro de WordPress. Si WordPress consigue conectar pero informa de que una tabla necesita reparación, crea primero una copia de la base.
Solo para ejecutar la herramienta de reparación integrada puedes añadir temporalmente:
define('WP_ALLOW_REPAIR', true);
Después abre /wp-admin/maint/repair.php, ejecuta la reparación necesaria y elimina la línea de wp-config.php al terminar, porque esa página no exige iniciar sesión mientras la opción está activa.
No utilices la reparación cuando el problema real sea un nombre, usuario, contraseña o host incorrectos: no podrá conectar y no resolverá nada.
Si el error apareció después de migrar WordPress
Revisa además:
- Que el fichero
wp-config.phpcopiado no conserve los datos MySQL del proveedor anterior. - Que la exportación SQL terminara sin errores y la importación no quedara incompleta.
- Que la versión de MySQL o MariaDB sea compatible con la instalación.
- Que no haya dos copias de
wp-config.phpy estés editando un directorio distinto del que sirve el dominio. - Que el dominio apunte al servidor que estás revisando.
Sigue la guía para migrar WordPress a otro hosting para comprobar ficheros, base de datos, URLs y DNS como partes separadas.
Qué información enviar a soporte
Si el error continúa, indica:
- Dominio y momento aproximado en que comenzó.
- Si apareció después de una migración, restauración o cambio de contraseña.
- Si phpMyAdmin muestra la base y sus tablas.
- Nombre de la base y usuario MySQL, sin incluir contraseñas.
- Captura del mensaje y cualquier error relacionado del registro de PHP.
No pegues el contenido completo de wp-config.php: contiene la contraseña de la base y claves de seguridad de WordPress.
También te puede ayudar