Riparare un database danneggiato

Questa pagina descrive come riparare un database danneggiato.

Il danneggiamento del database può verificarsi quando il database viene arrestato in modo brusco (ad esempio in caso di arresto improvviso del server). Questa procedura è destinata agli utenti che hanno dimestichezza con i database MariaDB. In caso di dubbio, contattare il supporto Cyberwatch.

  1. Verificare che il database sia effettivamente danneggiato:

    Esaminare i log del database. Se il database è distribuito come container (situazione predefinita), utilizzare il comando seguente:

     sudo cyberwatch logs db -f
    

    Se il database è danneggiato, i log dovrebbero contenere una o più righe simili a:

     [ERROR] InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint 
     44002250712 and the end 44002250240.
    
  2. Arrestare l’istanza Cyberwatch:

    sudo cyberwatch stop
    
  3. (Consigliato) Eseguire il backup dei file del database:

    • Con Docker Swarm:

        cd /var/lib/docker/volumes/cbwonpremise_data_db
        tar cvzf cyberwatch_db_$(date +%Y%m%d).tar.gz _data
      
  4. Svuotare il contenuto del file ib_logfile0:

     :> ib_logfile0
    
  5. Riavviare l’applicazione:

     cyberwatch restart
    

Se l’applicazione non si avvia correttamente, contattare il supporto Cyberwatch.

Fonti esterne