Solución de problemas con el servidor SQL

El instalador del servidor SQL proporcionado con Lázaro tiene la opción de reconstruir todas las tablas de datos a través de un volcado (dump). Esta opción es útil para solucionar problemas de consistencia o corrupción en la base de datos.

Antes de utilizar la opción de reconstruir archivos de datos, es muy recomendable realizar una copia de seguridad de la carpeta de instalación del servidor, para lo cual es necesario que el servidor se detenga.

  1. Detener el servicio MySQL (haciendo botón derecho en Equipo → Administrar → Servicios → MySQL → Detener).
  2. Hacer una copia de la carpeta "mysql" que se encuentra en la unidad C: en un lugar seguro (por ejemplo en una unidad USB). ¡Atención! Copiar, no cortar ni arrastrar.
  3. Descargar e instalar la última versión del servidor SQL desde http://lazarogestion.com/descargar/servidor, marcando la opción "Reconstruir archivos de datos" que está al final de la instalación, como se muestra en la imagen a continuación.

El servidor SQL proporcionado con Lázaro es un servidor MariaDB (versión 10.1 al momento de escribir este documento). La versión provista en la página de Lázaro está reducida y personalizada para que se adapte específicamente a las necesidades de Lázaro. No obstante, los comandos mysql, mysqldump y mysqlcheck están disponibles en la carpeta bin.

Cualquier documentación sobre solución de problemas de MySQL o MariaDB suele aplicarse sin mayores modificaciones a la versión del servidor MariaDB proporcionada con Lázaro.

Lista de comandos

La opción de "Reconstruir archivos de datos" ejecuta los siguientes comandos, en el orden mostrado:

echo * Deteniendo el servicio
net stop mysql
echo
* Bootstrap
mysqld –bootstrap –skip-grant-tables
echo * Iniciando el servidor en modo de recuperación
start mysqld –innodb_force_recovery=2 –console
echo
* Haciendo un volcado completo de los datos
mysql -uroot -Bse "CREATE DATABASE IF NOT EXISTS lazaro; GRANT ALL ON lazaro.* TO 'lazaro'@'%' IDENTIFIED BY \'\';"
mysqldump -uroot –all-databases > dbdump.sql
echo * Deteniendo el servidor iniciado en modo de recuperación
mysql -uroot -Bse "SHUTDOWN"
taskkill /f /im mysqld.exe > nul
echo
* Iniciando nuevamente el servicio
net start mysql
echo * Reconstruyendo todas las tablas
mysql -uroot < dbdump.sql
echo
* Ejecutando programa de actualización
mysql_upgrade –force