Cómo conectar WordPress a una base de datos MySQL (sin errores)
¿Te ha aparecido el temido mensaje "Error al establecer una conexión con la base de datos" en tu WordPress? No te preocupes, es uno de los problemas más comunes, y en el 90% de los casos tiene una solución sencilla que puedes aplicar tú mismo en pocos minutos. En esta guía completa, vamos a desglosar, paso a paso y sin tecnicismos innecesarios, todo lo que necesitas saber sobre cómo conectar WordPress a una base de datos MySQL sin errores. Aprenderás a configurar el archivo wp-config.php como un profesional, a diagnosticar los fallos más típicos y a resolverlos de forma definitiva. Al final, tendrás un mapa claro para que tu sitio web funcione a la perfección.
Entendiendo la relación entre WordPress y MySQL
Antes de ponernos manos a la obra, es fundamental que entiendas qué está pasando "bajo el capó". WordPress no es más que un conjunto de archivos (PHP, CSS, JavaScript) que necesitan un lugar donde guardar todo tu contenido: entradas, páginas, comentarios, usuarios, opciones de configuración... Ese lugar es la base de datos, y la más utilizada en el mundo del hosting es MySQL.
Piensa en ello como una biblioteca: WordPress es el bibliotecario que organiza los libros, pero necesita un almacén (MySQL) para guardarlos. Si el bibliotecario no tiene la llave correcta del almacén, o si el almacén está cerrado, no puede hacer su trabajo. Esa "llave" es la información de conexión que se encuentra en el archivo wp-config.php de tu instalación.
Por lo tanto, conectar WordPress a MySQL es simplemente asegurarse de que el archivo wp-config.php tiene los datos correctos para que el "bibliotecario" pueda abrir el "almacén". Si alguno de estos datos es incorrecto, o si el servidor de base de datos no está disponible, verás el error fatal en tu pantalla.
La pieza clave: El archivo wp-config.php
Este es el archivo de configuración principal de WordPress. Se encuentra en la raíz de tu instalación (normalmente en una carpeta como public_html, htdocs o www). Contiene, entre otras cosas, las cuatro constantes que definen la conexión a tu base de datos. Si tienes acceso a tu hosting vía FTP o a través del administrador de archivos de tu panel, podrás editarlo fácilmente.
Las 4 constantes que debes revisar
Dentro de wp-config.php, busca las líneas que empiezan con define. Para la conexión, nos interesan estas cuatro:
- DB_NAME: Es el nombre de tu base de datos. Debe coincidir exactamente con el que creaste en tu panel de control.
- DB_USER: Es el nombre de usuario de la base de datos. No es tu usuario de WordPress, sino el usuario de MySQL que tiene permisos sobre esa base de datos.
- DB_PASSWORD: Es la contraseña de ese usuario de MySQL.
- DB_HOST: Es la dirección del servidor donde se encuentra la base de datos. Normalmente es
localhost, pero en muchos hostings compartidos o paneles como Syspanel (accesible por el puerto 2106), puede ser una dirección comolocalhosto un nombre de servidor específico (ej:mysql.tudominio.com).
[WARNING] Un error muy común es confundir el usuario de la base de datos con el usuario del panel de control. Si has creado un usuario llamado admin para tu hosting, no significa que ese sea el usuario de MySQL. Debes crear un usuario específico para la base de datos y asignarle una contraseña robusta.
Paso a paso: Cómo conectar WordPress a MySQL correctamente
Vamos a seguir una metodología clara para que la conexión sea un éxito a la primera. No te saltes ningún paso, ya que cada uno es crucial.
Paso 1: Reúne tus credenciales de acceso
Lo primero es tener a mano los datos de acceso a tu base de datos. Normalmente los puedes encontrar en el panel de control de tu hosting. Si usas Syspanel, recuerda que el acceso es a través del puerto 2106. Dentro de la sección "Bases de datos" o "MySQL", podrás ver:
- El nombre de la base de datos (DB_NAME).
- El nombre de usuario (DB_USER).
- La contraseña (DB_PASSWORD). Si no la recuerdas, casi siempre puedes regenerarla desde el mismo panel.
- El host de la base de datos (DB_HOST). Si no aparece, lo más seguro es que sea
localhost. Si tu hosting es un poco más complejo, aparecerá un texto similar alocalhost:/tmp/mysql5.socko una URL. Copia exactamente lo que te indique tu proveedor.
[INFO] En Syspanel, al crear una base de datos, el sistema te pedirá que crees un usuario y le asignes una contraseña. Este es el momento de guardarla bien, ya que no se vuelve a mostrar.
Paso 2: Localiza y edita tu archivo wp-config.php
- Accede a tu hosting vía FTP (con programas como FileZilla) o mediante el "Administrador de Archivos" que suele venir integrado en el panel de control (como en Syspanel).
- Navega hasta la carpeta donde está instalado WordPress. Si es tu dominio principal, será la carpeta
public_htmlo similar. - Busca el archivo
wp-config.php. Puede que no esté visible a simple vista si tienes ocultos los archivos que empiezan por punto. Asegúrate de que tu visor de archivos muestre los archivos ocultos. - Haz clic derecho sobre él y selecciona "Editar" o "View/Edit". Se abrirá un editor de texto. Si no tienes esta opción, puedes descargarlo, editarlo en tu ordenador con un editor de texto plano (como Notepad++ o Sublime Text) y volver a subirlo.
Paso 3: Modifica las constantes de conexión
Una vez que tengas el archivo abierto, busca las líneas que mencionamos antes. Deberían verse así:
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'nombre_de_tu_bd' );
/** MySQL database username */
define( 'DB_USER', 'nombre_de_usuario' );
/** MySQL database password */
define( 'DB_PASSWORD', 'tu_contraseña' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
Ahora, reemplaza los valores de ejemplo (los que están entre comillas simples) por los que has recopilado en el Paso 1. Es fundamental que los escribas exactamente igual, respetando mayúsculas, minúsculas, guiones bajos y símbolos. Un simple error tipográfico es la causa más frecuente del error de conexión.
Paso 4: Guarda y verifica
Guarda los cambios en el archivo y súbelo de vuelta al servidor si lo estabas editando localmente. Ahora, intenta acceder a tu sitio web. Si la información era correcta, el error debería haber desaparecido y verás tu página principal.
[WARNING] Si tu sitio no carga y te sigue dando el error, revisa que no hayas dejado espacios en blanco antes de <?php en el archivo wp-config.php. Cualquier espacio o carácter extra fuera de las etiquetas PHP puede provocar errores de "headers already sent" y romper la conexión.
Diagnóstico avanzado: ¿Qué hago si el error persiste?
Si has seguido los pasos y el error de conexión a la base de datos persiste, el problema puede ser más profundo. Vamos a analizar las causas más probables y cómo solucionarlas.
Error 1: El host de la base de datos no es "localhost"
Muchos hostings gestionados utilizan un servidor de base de datos separado. Si has probado con localhost y no funciona, necesitas el valor exacto de DB_HOST. Este dato lo proporciona tu empresa de hosting, y a menudo se encuentra en el correo de bienvenida o en la sección de "Bases de datos" de tu panel.
- Solución: Revisa la documentación de tu hosting o contacta con su soporte. A veces, el valor es algo como
localhost:/var/run/mysqld/mysqld.socko una URL comomysql.tudominio.com. Copia y pega exactamente lo que te digan.
Error 2: Permisos de usuario incorrectos
Es posible que el usuario de MySQL que estás utilizando no tenga privilegios para acceder a esa base de datos específica. Esto es muy común si has creado la base de datos pero no has vinculado el usuario correctamente.
- Solución: Accede a tu panel de control (recuerda, Syspanel usa el puerto 2106) y ve a la sección de "Bases de datos". Busca la opción de "Administrar permisos" o "Añadir usuario a la base de datos". Asegúrate de que tu
DB_USERestá asignado a tuDB_NAMEy que tiene todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP, etc.). Marca la casilla de "Todos los privilegios" para simplificar.
Error 3: Contraseña con caracteres especiales
Si tu contraseña contiene caracteres como $, #, ', " o \, es posible que se estén interpretando mal en el archivo wp-config.php.
- Solución: La forma más segura es cambiar la contraseña de la base de datos desde tu panel de control a una que solo contenga letras y números. No es la solución más elegante, pero es la más práctica para evitar dolores de cabeza. Una vez cambiada, actualiza el valor en
wp-config.php.
Error 4: Base de datos corrupta o no importada correctamente
Si estás migrando un sitio web, es posible que la base de datos no se haya importado bien o que esté dañada.
- Solución: Si tienes una copia de seguridad en formato
.sql, intenta importarla de nuevo a través de la herramienta phpMyAdmin (que también encontrarás en Syspanel). Asegúrate de que la importación se completa sin errores. Si el archivo es muy grande, puede que necesites usar herramientas como "BigDump" o pedir a tu hosting que aumente el límite de subida.
Error 5: El servidor MySQL está caído
A veces el problema no es tuyo, sino del servidor. Si el servicio de MySQL se ha detenido, nadie podrá conectar.
- Solución: Revisa el estado del servidor en el panel de control de tu hosting. Si tienes acceso a la terminal (SSH), puedes probar con el comando
systemctl status mysqloservice mysql status. Si no tienes acceso, contacta con el soporte técnico de tu proveedor.
Preguntas frecuentes (FAQ) sobre la conexión a MySQL
Aquí tienes las dudas que más nos llegan al soporte, resueltas.
¿Qué es exactamente el error "Error establishing a database connection"?
Es el mensaje genérico que muestra WordPress cuando no puede conectarse a la base de datos MySQL. Significa que el archivo wp-config.php tiene datos incorrectos, o que el servidor de base de datos no está disponible o rechaza la conexión.
¿Puedo conectar WordPress a una base de datos MySQL existente?
Sí, pero debes tener mucho cuidado. Si apuntas WordPress a una base de datos que ya tiene contenido de otro sitio, tu web mostrará ese contenido antiguo. Lo ideal es crear una base de datos nueva y limpia para cada instalación de WordPress.
¿Es lo mismo "localhost" que la IP de mi servidor?
No siempre. localhost se refiere a la misma máquina donde se ejecuta el servidor web. Si tu base de datos está en el mismo servidor que tu web, localhost es correcto. Si tu hosting utiliza servidores separados para web y base de datos, deberás usar la IP o el nombre de host que te proporcione tu proveedor.
¿Cómo puedo saber si mi base de datos está funcionando?
La forma más sencilla es usar phpMyAdmin. Si puedes acceder a él y ver tus tablas, significa que la base de datos está activa. Si no puedes, entonces el problema está en el servidor de base de datos.
¿Debo cambiar el prefijo de las tablas en wp-config.php?
No es obligatorio, pero es una buena práctica de seguridad. Por defecto, las tablas se llaman wp_. Puedes cambiarlo a algo como miwp_ para dificultar los ataques de inyección SQL. Debes hacerlo antes de instalar WordPress, o si ya lo tienes instalado, tendrías que cambiar el nombre de todas las tablas en la base de datos manualmente.
Consejos finales para una conexión sin errores
Para terminar, te dejamos una lista de verificación rápida que puedes usar cada vez que configures una conexión a MySQL:
- Verifica el nombre de la base de datos: Es sensible a mayúsculas y minúsculas en muchos sistemas.
- Verifica el nombre de usuario: Asegúrate de que no tenga espacios.
- Verifica la contraseña: Si la has copiado, asegúrate de que no se haya añadido un espacio extra al principio o al final.
- Revisa el host: Si tienes dudas entre
localhosty otro valor, prueba ambos. - Comprueba los permisos: Entra en tu panel (como Syspanel, puerto 2106) y confirma que el usuario está vinculado a la base de datos con todos los privilegios.
- Desactiva plugins: Si el error aparece de repente en un sitio que ya funcionaba, puede ser un plugin conflictivo. Desactiva todos los plugins renombrando la carpeta
wp-content/pluginsawp-content/plugins_backupvía FTP. Si el error desaparece, el problema era un plugin.
[INFO] Si después de todo esto sigues sin poder conectar WordPress MySQL, no dudes en contactar con el soporte técnico de tu proveedor de hosting. Ellos tienen acceso directo a los servidores y pueden diagnosticar problemas que están fuera de tu alcance, como bloqueos de firewall o configuraciones específicas del servidor.
Recuerda que la clave está en la paciencia y en la revisión meticulosa de cada detalle. Una conexión a base de datos es como una llave: tiene que encajar perfectamente en la cerradura. Con esta guía, ya tienes todos los conocimientos necesarios para que la llave entre sin forzar y tu sitio web funcione sin el temido error base de datos WordPress. ¡Mucha suerte con tu proyecto!
