Când tabelele MySQL devin corupte, datele tale pot dispărea în secundă. Acest gid te salvează cu protocoale testate în producție:


Semnale de Alarmă

MySQL te avertizează prin:

ERROR 145 (HY000): Table './baza_mea/tabela' is marked as crashed  
SHOW TABLE STATUS LIKE 'tabela';  /* Check_time: NULL */  

Alte simptome:

  • Erori neexplicate la citire (Error 1016Error 1034)

  • Performanță degradată brusc


Primul Ajutor: Backup Imediat!

  1. Copiază fișierele brute (chiar dacă corupte):

     
    sudo cp -R /var/lib/mysql/baza_mea /backup/  
  2. Exportă datele recuperabile:

     
    mysqldump -u root -p --single-transaction baza_mea tabela_sana > partial.sql  

Reparare în 3 Pași

Pasul 1: Reparare Consolă MySQL

USE baza_mea;  
REPAIR TABLE tabela_corupta;  

Rezultat așteptat: Msg_type: status, Msg_text: OK

Pasul 2: Forțare Reparare cu myisamchk (pentru MyISAM)

  1. Oprește MySQL:

     
    sudo systemctl stop mysql  
  2. Rulează reparare:

     
    sudo myisamchk -r -q /var/lib/mysql/baza_mea/tabela_corupta.MYI  

    Opțiuni cheie:

    • -r: Reparare recursivă

    • -q: Mod rapid

Pasul 3: Reparare Extinsă (când pașii 1-2 eșuează)

sudo myisamchk --safe-recover -v /calea/tabela.MYI  

Cazuri Extreme: Recuperare Date Pierdute

  1. Forțează deschiderea tabelei (doar InnoDB):

     
    SET GLOBAL innodb_force_recovery=6;  /* Nivel maxim */  

    Apoi exportă datele imediat!

  2. Folosește dbsake (tool specializat):

     
    curl -s get.dbsake.net > dbsake  
    chmod u+x dbsake  
    ./dbsake frmdump /var/lib/mysql/tabela_corupta.frm  

Prevenție: 4 Reguli de Aur

  1. Backup automatizat zilnic:

     
    mysqldump --all-databases | gzip > /backup/full_$(date +%F).sql.gz  
  2. Verificare periodică tabele:

     
    CHECK TABLE important_table FAST;  
  3. Configurare InnoDB:

     
    [mysqld]  
    innodb_file_per_table = ON  
    innodb_flush_log_at_trx_commit = 1  
  4. Monitorizare SMART pentru SSD/HDD


De ce se corup tabelele?

  • Hardware defect: SSD failing, RAM corupt

  • Oprire brută: Prică de curent, kill -9

  • Bug-uri MySQL: Actualizează întotdeauna la ultimul patch

 Avertisment critic: La corupție severă, oprește serverul! Fiecare operație poate agrava pagubele.

Răspunsul a fost util? 0 utilizatori au considerat informația utilă (0 Voturi)