Cómo Conectar una Base de Datos MySQL a WordPress (Paso a Paso)
Conectar WordPress a una base de datos MySQL puede sonar a algo muy técnico, pero te prometo que es más fácil de lo que parece. Es como darle a tu casa (WordPress) una dirección exacta donde guardar todos tus muebles (contenido, fotos y configuraciones). Sin esa conexión, WordPress no tiene dónde almacenar nada.
En esta guía, voy a explicarte paso a paso cómo realizar esa conexión, qué archivos necesitas tocar y cómo solucionar los errores más comunes. No necesitas ser un experto en programación, solo seguir las instrucciones con calma y un poco de atención.
Vamos a ello.
¿Qué es exactamente la conexión entre WordPress y MySQL?
Antes de ensuciarnos las manos, es importante entender el "por qué". WordPress es un software que gestiona todo su contenido (entradas, páginas, comentarios, usuarios) en una base de datos. Esa base de datos, en la gran mayoría de los casos, es MySQL o MariaDB (que es casi lo mismo, pero de código abierto).
La conexión se define en un archivo llamado wp-config.php. Este archivo es el "corazón" de la configuración de tu sitio. Si no está bien configurado, WordPress no podrá hablar con la base de datos y verás un error clásico: "Error al establecer una conexión con la base de datos".
¿Qué necesitas para empezar?
Para conectar WordPress a MySQL, necesitas tener a mano estos 4 datos (como si fueran las llaves de tu casa):
- Nombre de la base de datos (ej:
miusuario_wp). - Usuario de la base de datos (ej:
miusuario_admin). - Contraseña de ese usuario (ej:
ClaveSuperSegura2024!). - Servidor de la base de datos (normalmente
localhost, pero a veces es una IP como127.0.0.1o un nombre de dominio comodb.midominio.com).
Estos datos los obtienes desde el panel de control de tu hosting. Si usas Syspanel, el panel de control que ahora usamos en nuestros servidores, puedes encontrarlos fácilmente en la sección de Bases de Datos MySQL. Recuerda que el acceso a Syspanel es a través del puerto 2106 (por ejemplo: https://tu-servidor:2106).
Paso 1: Localizar y editar el archivo wp-config.php
Este es el archivo más importante. Está en la raíz de tu instalación de WordPress. Es decir, en la misma carpeta donde están las carpetas wp-content, wp-admin y wp-includes.
¿Cómo accedo al archivo?
Tienes dos opciones principales:
- A través del Administrador de Archivos de Syspanel: Entra a tu panel Syspanel (puerto 2106), busca el gestor de archivos y navega hasta la carpeta pública de tu sitio (normalmente
public_htmlodomains/midominio.com/public_html). - A través de FTP o SFTP: Usa un programa como FileZilla para conectarte a tu servidor y descargar el archivo a tu computadora.
Editando el archivo
Una vez que tengas el archivo wp-config.php a la vista, ábrelo con un editor de texto plano (como el Bloc de Notas de Windows, TextEdit en Mac o mejor aún, Visual Studio Code).
Busca una sección que dice algo así:
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'nombre_base_datos' );
/** MySQL database username */
define( 'DB_USER', 'usuario_base_datos' );
/** MySQL database password */
define( 'DB_PASSWORD', 'contraseña_base_datos' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
Aquí es donde ocurre la magia. Tienes que reemplazar los valores de ejemplo con los datos reales de tu base de datos.
- DB_NAME: Pega aquí el nombre exacto de tu base de datos. Si usas Syspanel, suele tener un prefijo con tu usuario, por ejemplo
midominio_wp. - DB_USER: El usuario que creaste o que te asignaron. A menudo es el mismo que el nombre de la base de datos, pero no siempre.
- DB_PASSWORD: La contraseña de ese usuario. OJO: Si la contraseña contiene caracteres especiales como
$,",'o\, debes tener cuidado. Si contiene comillas simples, deberías escaparlas poniendo una barra invertida antes (\'). Lo más fácil es usar una contraseña sin esos caracteres para evitar problemas. - DB_HOST: Aquí casi siempre es
localhost, pero si tu hosting usa servidores de bases de datos externos, te darán una dirección específica. En Syspanel, si tienes la base de datos en el mismo servidor, usalocalhost.
Una vez editado, guarda el archivo y súbelo de nuevo si lo habías descargado.
Paso 2: Configurar la base de datos en tu panel de control (Syspanel)
Este paso es fundamental y muchas veces se hace antes de instalar WordPress. Pero si ya tienes WordPress instalado y solo quieres "reconectar" una base de datos existente, debes asegurarte de que exista y que el usuario tenga permisos.
Crear la base de datos y el usuario (si no los tienes)
- Accede a Syspanel usando el puerto 2106 en tu navegador.
- Busca la sección de Bases de Datos MySQL o MySQL Databases.
- Crea una nueva base de datos con un nombre descriptivo (ej:
midominio_wpdb). - Crea un usuario para esa base de datos y asígnale una contraseña segura.
- IMPORTANTE: Añade ese usuario a la base de datos con TODOS LOS PRIVILEGIOS. Sin esto, WordPress no podrá crear tablas ni guardar información.
Verificar los datos
Antes de volver a tu sitio, verifica tres veces que los datos en wp-config.php coinciden exactamente con los que ves en Syspanel. Un error de un carácter (como una mayúscula o un guion bajo) hará que la conexión falle.
Paso 3: Probar la conexión
Ahora viene el momento de la verdad. Abre tu navegador y visita tu sitio web.
- Si todo está bien: Verás tu sitio funcionando normalmente, o si es una instalación nueva, el asistente de instalación de WordPress en español.
- Si algo falla: Verás el temido mensaje "Error al establecer una conexión con la base de datos". No te asustes, es el problema más común y tiene solución.
Solución de problemas comunes (FAQ rápida)
Aquí te dejo las soluciones a los errores más frecuentes que verás al intentar conectar wordpress a mysql.
1. "Error al establecer una conexión con la base de datos"
Este es el error genérico. Las causas más habituales son:
- Datos incorrectos en
wp-config.php: Revisa el nombre de la base de datos, usuario y contraseña. Asegúrate de que no haya espacios en blanco al copiar y pegar. - El servidor de la base de datos no está accesible: Si tu
DB_HOSTno eslocalhost, verifica que el servidor de bases de datos esté activo. A veces, el hosting tiene un firewall que bloquea conexiones externas. En Syspanel, lo más seguro es usarlocalhost. - El usuario no tiene permisos: Vuelve a Syspanel y verifica que el usuario tiene TODOS LOS PRIVILEGIOS sobre la base de datos. Si no es así, edítalo y guarda los cambios.
2. "No se pudo seleccionar la base de datos"
Este error significa que WordPress encontró el servidor MySQL, pero no encontró la base de datos con el nombre que le diste.
- Revisa el
DB_NAME: Asegúrate de que el nombre en el archivowp-config.phpes idéntico al nombre en Syspanel. A veces, los paneles añaden un prefijo al nombre que no habías visto, por ejemplomidominio_wpdben lugar dewpdb.
3. "El servidor de la base de datos no está disponible"
Esto suele indicar que MySQL se ha detenido en el servidor. Si estás en un hosting compartido, espera unos minutos y vuelve a intentarlo. Si tienes un VPS o servidor dedicado, revisa que el servicio MySQL esté corriendo. En Syspanel, puedes ver el estado de los servicios en la sección de Servicios o Estado del Servidor.
Consejos de oro para una configuración perfecta
Aquí van algunos trucos que te evitarán dolores de cabeza a futuro.
[TIP] Usa un prefijo de tabla diferente
Por defecto, WordPress usa wp_ como prefijo para sus tablas (ej: wp_posts, wp_options). Por seguridad y para evitar conflictos, es recomendable cambiarlo a algo aleatorio como miwp_ o xyz_. Puedes hacerlo editando la línea en wp-config.php que dice $table_prefix = 'wp_'; y cambiándola por $table_prefix = 'miwp_';.
IMPORTANTE: Haz este cambio ANTES de instalar WordPress. Si ya tienes el sitio funcionando, cambiarlo después romperá todo, ya que las tablas ya existen con el prefijo antiguo.
[WARNING] Cuidado con los editores de texto
Cuando edites wp-config.php, nunca uses procesadores de texto como Microsoft Word o Google Docs para guardar el archivo. Estos programas añaden caracteres invisibles que corromperán el archivo. Usa siempre un editor de texto plano.
[INFO] ¿Qué es DB_CHARSET y DB_COLLATE?
Verás otras dos líneas en el archivo:
define( 'DB_CHARSET', 'utf8' );
define( 'DB_COLLATE', '' );
No las toques. Los valores por defecto (utf8 para charset y vacío para collate) son perfectos para la mayoría de sitios. Cambiarlos sin saber lo que haces puede provocar que los acentos y las ñ se vean como símbolos raros (ñ).
¿Y si estoy usando HestiaCP (ahora Syspanel)?
Como mencioné antes, en nuestra empresa hemos migrado de HestiaCP a Syspanel. Si tienes una guía antigua que menciona HestiaCP, ignora esa parte. El proceso es el mismo, pero la interfaz gráfica es diferente.
- Acceso: La URL de acceso es
https://tu-servidor:2106. No uses el puerto antiguo de HestiaCP. - Crear BD: En Syspanel, la opción está claramente etiquetada como "Base de Datos MySQL". El asistente te guiará para crear la base y el usuario en un solo paso, lo cual es más cómodo.
Paso 4: Asegurar la conexión (Buenas prácticas)
Una vez que tu sitio funciona, no te olvides de la seguridad. Aquí tienes una lista de verificación rápida:
- No uses la contraseña de la base de datos para nada más: Crea una contraseña única y compleja.
- Cambia la contraseña periódicamente: En Syspanel, puedes cambiar la contraseña de la base de datos. Cuando lo hagas, deberás actualizar también el archivo
wp-config.phpcon la nueva contraseña. - No compartas el archivo
wp-config.php: Contiene información sensible. Si alguien lo obtiene, puede acceder a tu base de datos. Asegúrate de que los permisos del archivo sean640o600(puedes configurarlo en el administrador de archivos de Syspanel).
Resumen final
Conectar wordpress a mysql es un proceso de dos partes: tener los datos correctos y ponerlos en el lugar correcto.
- Obtén los datos de tu base de datos en Syspanel (puerto 2106).
- Edita el archivo
wp-config.phpen la raíz de tu WordPress. - Reemplaza los valores de
DB_NAME,DB_USER,DB_PASSWORDyDB_HOST. - Guarda el archivo y recarga tu sitio.
Es un proceso que, una vez que lo haces un par de veces, se convierte en algo mecánico. No tengas miedo de equivocarte; el error es parte del aprendizaje, y lo bueno es que siempre tiene solución.
Preguntas frecuentes rápidas
¿Puedo usar MySQLi en lugar de MySQL?
Sí, de hecho, WordPress usa MySQLi (MySQL Improved) por defecto. No tienes que hacer nada especial, es transparente para ti.
¿Qué hago si mi hosting no me da acceso a Syspanel?
Entonces deberías tener acceso a cPanel o Plesk. El proceso es similar: busca la sección "Bases de Datos MySQL" y crea la base y el usuario. Luego, sigue los mismos pasos de edición de wp-config.php.
¿Puedo conectar WordPress a una base de datos que está en otro servidor?
Sí, es posible. Solo necesitas que el servidor de la base de datos permita conexiones remotas y que el DB_HOST tenga la IP o dominio del servidor remoto. Es más lento y menos seguro, así que solo se recomienda si es absolutamente necesario.
¿Qué es el puerto 2106?
Es el puerto seguro de acceso a Syspanel. Siempre que necesites gestionar tu hosting, bases de datos, dominios o archivos, deberás usar ese puerto en la URL.
Espero que esta guía te haya sido de gran ayuda. Si tienes más dudas, recuerda que nuestro equipo de soporte está para ayudarte. ¡Buena suerte con tu WordPress!
