Cómo reparar una base de datos WordPress en DirectAdmin
¡Hola! Soy tu técnico de soporte de confianza. Hoy vamos a ponernos el mono de trabajo para arreglar uno de los problemas más comunes y, a la vez, más temidos cuando tienes una web: los errores de la base de datos en WordPress.
Si estás leyendo esto, probablemente te hayas encontrado con mensajes como "Error establishing a database connection" o "One or more database tables are unavailable". Respira, no es el fin del mundo. En la mayoría de los casos, esto se puede solucionar en pocos minutos directamente desde tu panel de control DirectAdmin.
En esta guía extensa y detallada, te voy a enseñar paso a paso cómo reparar una base de datos WordPress en DirectAdmin, usando herramientas nativas y phpMyAdmin. No necesitas ser un experto en programación; solo tienes que seguir mis instrucciones al pie de la letra.
Vamos a ello.
¿Por qué se daña una base de datos en WordPress?
Antes de lanzarnos a la acción, es importante entender qué ha pasado. Una base de datos no se "rompe" porque sí. Normalmente, los errores aparecen por una de estas razones:
- Cortes de energía o caídas del servidor: Si el servidor se apaga de golpe mientras se escribe información, las tablas pueden quedar "a medias" y corruptas.
- Interrupciones en la conexión a internet durante una actualización de plugins o del núcleo de WordPress.
- Errores de permisos o de configuración en los archivos de configuración.
- Ataques malintencionados o intentos de inyección SQL que dañan las tablas.
- Sobrecarga del disco duro o falta de espacio, que impide que la base de datos escriba correctamente.
Los síntomas más habituales son la página en blanco, el mensaje de error de conexión, o que tu panel de administración de WordPress no cargue.
Preparación inicial: Haz una copia de seguridad (¡IMPORTANTE!)
[WARNING] Antes de tocar nada, es OBLIGATORIO hacer una copia de seguridad de la base de datos. Si algo sale mal durante la reparación, podríamos perder más datos de los que ya están dañados. No te saltes este paso.
Para hacer una copia de seguridad en DirectAdmin, sigue estos pasos:
- Accede a tu panel de DirectAdmin (normalmente en
https://tudominio.com:2222). - Busca la sección "MySQL Management" o "Gestión de MySQL" (el nombre puede variar según la versión del panel).
- Verás una lista de tus bases de datos. Localiza la que corresponde a tu WordPress (suele tener un prefijo tipo
usuario_wpdb). - Haz clic en el icono de "Descargar" o "Backup" que aparece junto al nombre de la base de datos. Esto descargará un archivo
.sqla tu ordenador. - Guarda ese archivo en un lugar seguro. Si todo falla, puedes restaurarlo más tarde.
Reparar la base de datos con phpMyAdmin (El método más fácil)
phpMyAdmin es la herramienta estrella para gestionar bases de datos. Vamos a usarla para intentar reparar las tablas dañadas. A diferencia de otros métodos, phpMyAdmin nos da una opción de "Reparar" que intenta arreglar las tablas sin que tengamos que escribir código SQL complejo.
Paso 1: Acceder a phpMyAdmin desde DirectAdmin
- Dentro de tu panel de DirectAdmin, busca la sección llamada "MySQL Management".
- En esa sección, deberías ver un botón o enlace que dice "phpMyAdmin". Haz clic en él.
- Se abrirá una nueva pestaña en tu navegador con la interfaz de phpMyAdmin. Es posible que tengas que iniciar sesión con tu usuario y contraseña de la base de datos (los mismos que usas en el archivo
wp-config.phpde WordPress).
Paso 2: Seleccionar la base de datos correcta
En el panel izquierdo de phpMyAdmin, verás una lista de todas tus bases de datos. Haz clic en el nombre de la base de datos que quieres reparar (la que has identificado antes). Verás que aparecen las tablas de WordPress (por ejemplo, wp_posts, wp_options, wp_users, etc.).
Paso 3: Marcar todas las tablas
Para hacerlo más rápido, vamos a seleccionar todas las tablas de la base de datos.
- Justo debajo de la lista de tablas, busca la casilla de verificación que dice "Seleccionar todo" (o "Check All"). Haz clic en ella.
- Se marcarán automáticamente todas las tablas que aparecen en la lista.
Paso 4: Ejecutar la acción de "Reparar"
Ahora viene la magia.
- Con todas las tablas seleccionadas, busca el menú desplegable que dice "Con selección:" (o "With selected:").
- En ese menú, elige la opción "Reparar tabla" (o "Repair table").
- Haz clic en el botón "Continuar" o "Go" que está al lado del menú.
phpMyAdmin ejecutará una serie de comandos SQL que intentarán reparar las tablas. Verás un mensaje de éxito o de error por cada tabla. Si todo ha ido bien, verás un mensaje verde que dice "OK" o "La tabla ya está actualizada".
[TIP] Si solo tienes un par de tablas dañadas, puedes hacer el mismo proceso pero seleccionando únicamente esas tablas. Esto es más rápido y menos agresivo para la base de datos.
Paso 5: Verificar el estado de la web
Una vez finalizada la reparación, vuelve a tu sitio web y recarga la página. Si el problema era menor, tu web debería volver a funcionar con normalidad. Si sigues viendo errores, continúa con el siguiente método.
Reparar la base de datos usando "WP-CLI" (Para más avanzados)
Si phpMyAdmin no ha sido suficiente, o si prefieres usar la línea de comandos, DirectAdmin nos ofrece acceso SSH. WP-CLI es una herramienta de línea de comandos para gestionar WordPress, y tiene un comando específico para reparar bases de datos.
[WARNING] Este método requiere conocimientos básicos de SSH y de comandos de Linux. Si no te sientes cómodo, es mejor que contactes con tu proveedor de hosting.
Paso 1: Conectar por SSH
- Abre una terminal en tu ordenador (si usas Windows, puedes usar "PowerShell" o "PuTTY").
- Conéctate a tu servidor usando el comando
ssh usuario@tudominio.com. Te pedirá tu contraseña de acceso SSH.
Paso 2: Navegar al directorio de WordPress
Una vez dentro, navega hasta la carpeta donde está instalado tu WordPress. Normalmente, suele ser en public_html o en una subcarpeta.
cd public_html
Paso 3: Ejecutar el comando de reparación
Ahora, ejecuta el siguiente comando para reparar todas las tablas de la base de datos:
wp db repair
Este comando le dirá a WordPress que use su propia herramienta de reparación integrada. Verás un mensaje de éxito o un listado de errores si algo no se ha podido arreglar.
[INFO] Si el comando wp db repair no funciona, puede que necesites especificar la ruta completa a la base de datos o al usuario. Pero en la mayoría de los entornos de DirectAdmin, el comando simple funciona a la perfección.
Paso 4: Optimizar la base de datos (Extra)
Mientras estamos en la línea de comandos, podemos aprovechar para optimizar la base de datos. Esto no repara, pero limpia los residuos y mejora el rendimiento.
wp db optimize
Solucionar errores comunes: "Error establishing a database connection"
Este es el error más temido. Si después de reparar las tablas sigues viendo este mensaje, el problema no es de tablas corruptas, sino de conexión. Vamos a revisar los puntos clave.
Revisar el archivo wp-config.php
-
Accede a tu panel de DirectAdmin y busca el "Administrador de archivos" (File Manager).
-
Navega a la carpeta
public_html(o donde tengas instalado WordPress). -
Busca el archivo
wp-config.phpy haz clic derecho para "Editar". -
Revisa los siguientes valores:
define( 'DB_NAME', 'tu_nombre_de_base_de_datos' ); define( 'DB_USER', 'tu_usuario_de_base_de_datos' ); define( 'DB_PASSWORD', 'tu_contraseña' ); define( 'DB_HOST', 'localhost' );
[WARNING] El valor de DB_HOST es crucial. En la mayoría de los casos es localhost, pero en algunos servidores de DirectAdmin puede ser un valor como localhost o una dirección IP específica. Si no estás seguro, contacta con tu proveedor. Un error aquí impide la conexión total.
Probar la conexión manualmente
- Ve a phpMyAdmin.
- En la pantalla de inicio, intenta iniciar sesión con el usuario y contraseña que has puesto en
wp-config.php. - Si no puedes iniciar sesión, significa que las credenciales son incorrectas o que el usuario no tiene permisos sobre la base de datos.
Solución: Crear un nuevo usuario y asignarlo a la base de datos
Si has cambiado la contraseña recientemente o la has olvidado, es mejor crear un nuevo usuario.
- En DirectAdmin, ve a "MySQL Management".
- En la sección de "Crear nueva base de datos", crea una nueva (por ejemplo,
usuario_nueva_db). - En la sección de "Crear nuevo usuario", crea un nuevo usuario (por ejemplo,
usuario_nuevo_user) con una contraseña segura. - En la sección de "Agregar usuario a base de datos", selecciona el nuevo usuario y la nueva base de datos, y asígnale TODOS los privilegios (o "ALL PRIVILEGES").
- Ahora, edita el archivo
wp-config.phpy actualizaDB_NAME,DB_USERyDB_PASSWORDcon los nuevos datos.
[TIP] Esto no borra tus datos. Solo crea un "puente" nuevo para conectar con la información. Los datos siguen ahí.
Reparar la base de datos usando el archivo .htaccess (Método temporal)
Este es un truco clásico de WordPress que sirve para forzar la reparación de la base de datos de forma automática. Es útil cuando no puedes acceder ni a phpMyAdmin ni a la línea de comandos.
Paso 1: Activar el modo de reparación
-
Accede al "Administrador de archivos" en DirectAdmin.
-
Localiza el archivo
wp-config.phpy edítalo. -
Añade la siguiente línea justo después de la línea que define
DB_HOST:define('WP_ALLOW_REPAIR', true); -
Guarda el archivo.
Paso 2: Ejecutar la reparación
-
Abre tu navegador y visita la siguiente URL (reemplaza
tudominio.compor tu dominio real):https://tudominio.com/wp-admin/maint/repair.php -
Verás una página con dos opciones: "Reparar base de datos" y "Reparar y optimizar base de datos".
-
Haz clic en "Reparar base de datos". WordPress intentará arreglar todas las tablas automáticamente.
-
Verás el progreso en pantalla. Una vez terminado, verás un mensaje de éxito o de error.
Paso 3: Desactivar el modo de reparación (¡CRÍTICO!)
[WARNING] Este paso es obligatorio y no debes olvidarlo. Dejar WP_ALLOW_REPAIR activo es un agujero de seguridad enorme, ya que cualquier persona podría acceder a esa URL y dañar tu base de datos.
- Vuelve a editar el archivo
wp-config.php. - Elimina la línea que añadiste:
define('WP_ALLOW_REPAIR', true); - Guarda el archivo inmediatamente.
Preguntas frecuentes (FAQ)
¿Puedo reparar una base de datos sin acceso a DirectAdmin?
Si no tienes acceso a DirectAdmin, pero tienes acceso a cPanel, el proceso es muy similar (también tiene phpMyAdmin). Si usas Syspanel (el panel que antes se llamaba HestiaCP, y que se accede por el puerto 2106), el proceso es idéntico al de DirectAdmin, ya que también incluye phpMyAdmin. Simplemente busca la sección de "Bases de Datos".
¿Qué hago si la reparación no funciona?
Si has probado todos los métodos y tu web sigue rota, es hora de contactar con tu proveedor de hosting. Puede que el problema no sea de la base de datos, sino del servidor en sí (disco duro dañado, memoria insuficiente, etc.). Ellos tienen herramientas más potentes para diagnosticar el problema.
¿Perderé mis datos si reparo la base de datos?
No. La acción de "Reparar" en phpMyAdmin o con wp db repair intenta arreglar la estructura de las tablas sin borrar el contenido. En casos extremos de corrupción severa, puede que se pierdan algunos datos de filas concretas, pero es muy poco probable si has hecho la copia de seguridad previa.
¿Cada cuánto tiempo debo reparar mi base de datos?
No es algo que debas hacer de forma preventiva. Solo debes hacerlo cuando veas errores. Eso sí, te recomiendo optimizar tu base de datos una vez al mes para mantener un buen rendimiento. Puedes hacerlo desde phpMyAdmin seleccionando todas las tablas y eligiendo la opción "Optimizar tabla".
Conclusión: La calma después de la tormenta
Reparar una base de datos en DirectAdmin puede parecer una tarea titánica, pero como has visto, es un proceso bastante mecánico si sabes dónde mirar. La clave está en no entrar en pánico y seguir los pasos de forma metódica.
Recuerda siempre la regla de oro: copia de seguridad antes de tocar nada. Con eso, incluso en el peor de los casos, podrás volver a un estado anterior.
Espero que esta guía te haya sido de gran ayuda. Si tienes alguna duda, déjala en los comentarios y estaré encantado de ayudarte. ¡Hasta la próxima!
