Moodle guarda casi todo en una base de datos: usuarios, cursos, matrículas, calificaciones. Si no puede conectarse a ella, el sitio entero se cae, y lo que ve el usuario es un mensaje de error en vez del aula. El mensaje suele decir que la conexión falló, y que el administrador debe revisar que los datos de la base estén bien especificados en el archivo de configuración. La causa real puede ser muy distinta según el caso, y por eso conviene revisar en orden y no tocar a ciegas.
Antes de nada: hacé una copia
Si vas a cambiar algo, primero guardá una copia de los archivos de configuración y, si la base responde, un respaldo de la base de datos y de la carpeta moodledata. Cuando algo falla es tentador reiniciar servicios o editar archivos sin pensar, y ahí se agravan los problemas.
Las causas más comunes
- El servicio de base de datos está detenido o sobrecargado. El servidor de base de datos se cayó, se reinició o está saturado y no acepta conexiones nuevas.
- Datos de conexión incorrectos en
config.php. El servidor, el nombre de la base, el usuario o la contraseña no coinciden con los reales, algo frecuente después de una migración o de un cambio de hosting. - Demasiadas conexiones abiertas. El servidor de base de datos tiene un límite de conexiones simultáneas. En momentos de mucho uso, por ejemplo cuando muchos alumnos entregan una tarea a la vez, se puede agotar.
- El disco está lleno. Si el servidor se queda sin espacio, la base puede dejar de funcionar.
- El usuario de la base perdió permisos o la contraseña cambió desde el panel del hosting.
- Un problema de red o de firewall cuando la base está en otro servidor distinto al de Moodle.
Qué revisar, paso a paso
Revisión en orden
- Abrí el archivo
config.phpde Moodle y anotá el tipo de base, el servidor, el nombre, el usuario y la contraseña que tiene configurados. - Intentá conectarte a esa base con esos mismos datos, desde el mismo servidor, usando el cliente de línea de comandos de tu base de datos. Si no conecta, el problema está en los datos o en el servicio, no en Moodle.
- Verificá que el servicio de base de datos esté en ejecución y mirá sus registros de errores.
- Revisá el espacio libre en disco del servidor donde está la base.
- Mirá si se alcanzó el límite de conexiones simultáneas y qué consultas están ocupando la base.
- Si hubo una migración o un cambio de hosting reciente, compará los datos de
config.phpcon los del nuevo servidor.
Qué no hacer
- Reinstalar Moodle encima de la instalación existente. Puede sobrescribir el archivo de configuración y complicar todo.
- Restaurar una copia de la base de datos sin entender la causa. Si el problema era de conexión, no lo resuelve, y puede pisar datos más recientes.
- Reiniciar servicios una y otra vez. Si la base está saturada, cada reinicio corta las sesiones de los usuarios y no arregla el motivo.
- Cambiar varios datos a la vez. Si modificás el servidor, el usuario y la contraseña juntos, después no sabés cuál fue el error.
Cómo evitar que vuelva a pasar
- Monitorear que el servicio de base de datos esté activo y recibir un aviso si se detiene.
- Controlar el espacio libre en disco, con una alerta antes de que se llene.
- Dimensionar el servidor según los picos reales de uso, como entregas de tareas y evaluaciones.
- Mantener backups probados de la base de datos y de la carpeta de datos.
- Documentar los datos de conexión después de cada migración o cambio de hosting.
- Mantener una versión de base de datos compatible con la versión de Moodle que usás.
Si el sitio vuelve, no alcanza con dar el problema por cerrado. Conviene entender qué lo causó: si fue un pico de uso, hay que dimensionar mejor el servidor; si fue un cambio de datos, hay que documentarlo; si fue el disco, hay que monitorearlo.
Este tipo de error se parece a otros problemas de disponibilidad. Si tu plataforma se cae en momentos de mucha actividad, mirá por qué se cae el servidor de Moodle en las entregas, y si va lenta pero no se cae, cómo solucionar un Moodle lento.