Cómo conectar una base de datos MySQL a WordPress (wp-config.php)
Antes de Empezar: ¿Qué es wp-config.php y por qué es tan importante?
Cuando instalas WordPress, uno de los archivos más críticos que se generan es el wp-config.php. Este archivo actúa como el "puente" entre tu sitio web y la base de datos MySQL donde se almacenan todas tus publicaciones, páginas, comentarios y configuraciones. Sin una conexión correcta, WordPress simplemente no puede funcionar: verás un error de "Error al establecer una conexión con la base de datos" en lugar de tu sitio.
Piensa en wp-config.php como el carnet de identidad de tu WordPress. Le dice al sistema: "Hola, mi base de datos se llama X, está en este servidor, y estas son las credenciales para entrar". Si esos datos no son correctos, el portero (MySQL) no te dejará pasar.
Conectar wordpress mysql es un proceso que, aunque suene técnico, es bastante sencillo si sigues los pasos adecuados. En esta guía te explicaré todo desde cero, sin asumir que ya tienes conocimientos avanzados. Al final, podrás configurar wordpress tú mismo, ya sea para un blog personal, una tienda online o un sitio corporativo.
Requisitos Previos: ¿Qué necesitas tener a mano?
Antes de entrar en materia, asegúrate de tener estos datos disponibles. Te harán falta sí o sí:
- Nombre de la base de datos (ejemplo:
mipagina_db). - Usuario de la base de datos (ejemplo:
admin_miweb). - Contraseña de ese usuario (la que hayas asignado al crear el usuario).
- Host de la base de datos (normalmente
localhost, pero a veces es un servidor remoto comosql.midominio.com). - Prefijo de las tablas (por defecto es
wp_, pero a veces se cambia por seguridad).
Si estás usando un panel de control como cPanel, Plesk o Syspanel (recuerda que Syspanel se accede por el puerto 2106), normalmente puedes crear la base de datos y el usuario desde el apartado "Bases de Datos MySQL". Si ya tienes una base de datos creada, perfecto, solo necesitas las credenciales.
[INFO] Si no sabes qué es Syspanel, es un panel de control de hosting muy similar a cPanel pero con una interfaz más moderna. Se accede escribiendo
https://tudominio.com:2106en tu navegador.
Paso 1: Localizar el archivo wp-config.php
El archivo wp-config.php se encuentra en la carpeta raíz de tu instalación de WordPress. Es decir, en la misma carpeta donde están las carpetas wp-admin, wp-content y wp-includes. Dependiendo de cómo hayas instalado WordPress, la ruta será algo así:
- Si lo instalaste en la raíz de tu dominio:
/public_html/wp-config.php - Si lo instalaste en una subcarpeta:
/public_html/miwordpress/wp-config.php
Para acceder a él tienes dos opciones:
- Desde el administrador de archivos de tu panel de hosting: Entra a Syspanel (puerto 2106) o cPanel, busca "Administrador de Archivos" y navega hasta la carpeta correspondiente.
- Desde un cliente FTP como FileZilla: Conéctate con tus credenciales FTP y busca el archivo en la misma ubicación.
[WARNING] El archivo
wp-config.phpes muy sensible. No lo compartas nunca con nadie, ya que contiene contraseñas de tu base de datos. Además, si necesitas editarlo, hazlo con cuidado para no romper la sintaxis.
Paso 2: Entender la estructura básica de wp-config.php
Cuando abras el archivo con un editor de texto (como el Bloc de Notas o Visual Studio Code), verás una serie de líneas de código PHP. No te asustes, no necesitas ser programador. Solo nos interesa una sección concreta, la que contiene las constantes de conexión a la base de datos. Se ve más o menos así:
// ** Configuraciones de MySQL - Puedes obtener esta información de tu proveedor de hosting ** //
/** El nombre de la base de datos de WordPress */
define( 'DB_NAME', 'nombre_base_datos' );
/** Tu nombre de usuario de MySQL */
define( 'DB_USER', 'usuario_mysql' );
/** Tu contraseña de MySQL */
define( 'DB_PASSWORD', 'tu_contraseña' );
/** Host de MySQL (es muy probable que sea localhost) */
define( 'DB_HOST', 'localhost' );
/** Prefijo de las tablas de la base de datos */
$table_prefix = 'wp_';
Cada línea define una constante que WordPress usará para conectarse. Vamos a verlas una a una en el siguiente paso.
Paso 3: Configurar las constantes de conexión
Ahora viene la parte práctica. Vamos a conectar wordpress mysql editando esos valores. Sigue estos pasos:
3.1. El nombre de la base de datos (DB_NAME)
En la línea define( 'DB_NAME', 'nombre_base_datos' );, reemplaza 'nombre_base_datos' por el nombre real de tu base de datos. Por ejemplo:
define( 'DB_NAME', 'mipagina_db' );
¿Dónde encuentro este dato? En tu panel de hosting. Si usas Syspanel (puerto 2106), ve a "Bases de datos" y verás el nombre exacto. En cPanel, busca "Bases de datos MySQL".
3.2. El usuario de la base de datos (DB_USER)
En la línea define( 'DB_USER', 'usuario_mysql' );, pon el nombre de usuario que tienes asignado para esa base de datos. Normalmente trae un prefijo con el nombre de tu cuenta de hosting. Por ejemplo:
define( 'DB_USER', 'admin_miweb' );
[TIP] En algunos paneles, el usuario y la base de datos pueden tener nombres similares. Asegúrate de que ambos existen y que el usuario tiene privilegios sobre la base de datos (normalmente "Todos los privilegios").
3.3. La contraseña del usuario (DB_PASSWORD)
La línea define( 'DB_PASSWORD', 'tu_contraseña' ); es donde va la contraseña que configuraste al crear el usuario de MySQL. Es importante que esté entre comillas simples. Por ejemplo:
define( 'DB_PASSWORD', 'MiContraseñaSegura123!' );
Consejo de seguridad: Si crees que tu contraseña es débil, cámbiala antes de continuar. Una contraseña fuerte debe tener mayúsculas, minúsculas, números y símbolos.
3.4. El host de la base de datos (DB_HOST)
La línea define( 'DB_HOST', 'localhost' ); es la que menos se toca, pero es crucial. En la mayoría de los casos, el host es localhost, porque la base de datos está en el mismo servidor que tu sitio web. Sin embargo, hay excepciones:
- Si tu base de datos está en un servidor remoto, el host será algo como
sql.midominio.como una IP. - Si tu hosting usa puertos específicos, puede aparecer como
localhost:3307, por ejemplo.
¿Cómo saber cuál usar? Si instalaste WordPress desde tu panel, por defecto suele ser localhost. Si tienes dudas, contacta con tu proveedor de hosting. Usar un host incorrecto es una de las causas más comunes de errores de conexión.
3.5. El prefijo de las tablas ($table_prefix)
La línea $table_prefix = 'wp_'; define cómo se llamarán las tablas en tu base de datos. Por seguridad, muchos usuarios cambian wp_ por otro valor como miweb_ o blog_. Si estás haciendo una instalación nueva, puedes cambiarlo sin problema. Si estás migrando un sitio existente, deja el mismo prefijo que tenías antes.
[INFO] Cambiar el prefijo de las tablas es una medida de seguridad recomendada, ya que dificulta los ataques de inyección SQL que asumen que las tablas se llaman
wp_usuarios,wp_posts, etc.
Paso 4: Guardar y subir el archivo
Una vez que hayas modificado todas las líneas, guarda el archivo. Si lo estabas editando en tu ordenador, súbelo de nuevo al servidor con tu cliente FTP, reemplazando el archivo original. Si lo editaste directamente desde el administrador de archivos de tu panel, simplemente guarda los cambios.
Importante: Asegúrate de que el archivo se guarde con la extensión .php y no .txt o algo similar. En el administrador de archivos, verifica que el nombre sea exactamente wp-config.php.
Paso 5: Probar la conexión
Ahora viene la prueba de fuego. Abre tu navegador y escribe la URL de tu sitio web. Si todo está correcto, verás tu WordPress funcionando o, si es una instalación nueva, el asistente de instalación. Si algo falla, verás un mensaje de error. Los más comunes son:
- "Error al establecer una conexión con la base de datos": Significa que WordPress no puede conectar con MySQL. Revisa el nombre de la base de datos, el usuario y la contraseña.
- "No se pudo seleccionar la base de datos": Esto indica que el nombre de la base de datos es incorrecto o que el usuario no tiene permisos sobre ella.
- "El servidor no responde": Puede ser un problema con el host de la base de datos o que el servidor MySQL esté caído.
Si te aparece alguno de estos errores, no te preocupes. Vuelve a revisar cada paso. La mayoría de las veces es un error tipográfico: una letra mal escrita, un espacio de más o una contraseña con caracteres especiales que no se han copiado bien.
[WARNING] Si después de varios intentos sigues sin poder conectar, verifica que el usuario de la base de datos tenga permisos completos. En Syspanel (puerto 2106) o cPanel, puedes editar los privilegios del usuario y marcar "Todos los privilegios". A veces, al crear el usuario, se olvida este paso.
Solución de problemas comunes (FAQ)
Aquí tienes las respuestas a las dudas más habituales que nos llegan al soporte. Léelas antes de escribirnos, ¡puede que te ahorres un mensaje!
¿Por qué me sale "Error al establecer una conexión con la base de datos"?
Este es el error más frustrante, pero también el más fácil de diagnosticar. Las causas más comunes son:
- Credenciales incorrectas: Revisa que el nombre de la base de datos, el usuario y la contraseña sean exactamente los mismos que configuraste. Cuidado con las mayúsculas y minúsculas.
- El host no es correcto: Aunque casi siempre es
localhost, algunos proveedores usan un host específico. Revisa los datos de tu panel. - El usuario no tiene permisos: Asegúrate de que el usuario tiene acceso a la base de datos. Ve a la sección de bases de datos de tu panel y verifica los privilegios.
¿Puedo usar la misma base de datos para dos sitios WordPress?
Técnicamente sí, pero no lo recomendamos. Cada WordPress crea sus propias tablas con un prefijo. Si usas la misma base de datos con el mismo prefijo, los datos se mezclarán y causarás un desastre. Si lo haces, al menos cambia el prefijo de una de las instalaciones.
¿Qué hago si he olvidado la contraseña de MySQL?
No pasa nada, puedes cambiarla desde tu panel de hosting. En Syspanel (puerto 2106), busca la sección de bases de datos, edita el usuario y establece una nueva contraseña. Luego actualiza wp-config.php con la nueva contraseña.
¿Es seguro editar wp-config.php a mano?
Sí, siempre que lo hagas con cuidado y sigas las instrucciones. Eso sí, haz una copia de seguridad del archivo antes de tocarlo. Si algo sale mal, siempre puedes restaurar la copia.
¿Por qué debería cambiar el prefijo de las tablas?
Por seguridad. Al cambiar wp_ por otro valor, dificultas que un atacante adivine el nombre de tus tablas. Es una capa extra de protección, aunque no es infalible.
¿Puedo conectar WordPress a una base de datos remota?
Sí, es posible. Solo tienes que cambiar el DB_HOST por la dirección del servidor remoto. Sin embargo, ten en cuenta que esto puede ralentizar tu sitio si el servidor está lejos. Además, tu hosting debe permitir conexiones externas a MySQL, algo que no todos ofrecen.
Consejos finales para una conexión exitosa
Para terminar, aquí tienes algunos trucos que te harán la vida más fácil:
- Haz una copia de seguridad de tu
wp-config.phpantes de editarlo. Puedes descargarlo a tu ordenador o crear una copia en el servidor llamadawp-config.bak.php. - Usa un editor de texto plano como Notepad++ o Visual Studio Code. Evita editarlo con procesadores de texto tipo Word, ya que pueden añadir caracteres invisibles que rompan el código.
- No dejes espacios en blanco antes de
<?phpal inicio del archivo. Esto puede provocar errores de "headers already sent". - Si tu sitio ya estaba funcionando y de repente da error, revisa si alguien ha cambiado la contraseña de la base de datos o si el hosting ha hecho algún cambio. A veces, las actualizaciones de seguridad modifican estos datos.
Conectar wordpress mysql es un proceso que harás una vez al principio y luego probablemente no vuelvas a necesitar. Pero cuando lo domines, tendrás un control total sobre la instalación de tu sitio. Además, te servirá para futuras migraciones o para solucionar problemas por ti mismo.
Espero que esta guía te haya sido útil. Si has seguido todos los pasos y aún tienes problemas, no dudes en contactar con nuestro equipo de soporte. Estaremos encantados de ayudarte a configurar wordpress para que tu sitio esté funcionando en menos de lo que canta un gallo.
