MySQL : résoudre l'erreur "Table is marked as crashed and last (automatic?) repair failed" photo

MySQL : résoudre l’erreur “Table is marked as crashed and last (automatic?) repair failed”

Hier soir, gros bug sur le site : plus moyen d’accéder aux pages du site ou de sauvegarder un article. Je lance un top, le serveur n’a pas l’air d’être surchargé du tout. Je relance Apache, Varnish et MySQL et là…

Stopping MySQL database server: mysqld failed!
/etc/init.d/mysql: ERROR: The partition with /var/lib/mysql is too full! ... failed!Code language: JavaScript (javascript)

Ah cette erreur-là, je l’ai déjà eue ! Je fais un peu de ménage et je relance MySQL :

/etc/init.d/mysql restart 
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
ERROR 144 (HY000) at line 1: Table './skyminds/wp_posts' is marked as crashed and last (automatic?) repair failedCode language: JavaScript (javascript)

Et là, c’est le drame : le terminal est dans les choux comme attendant quelque chose et en lançant le site, il n’y a plus aucune information. Rien que le design, plus d’articles. Gloups.

mysql table crash

Je jette un coup d’oeil sur le serveur, j’ai mes sauvegardes des derniers jours mais pas de tout ce que j’ai écrit aujourd’hui. Je tente un REPAIR mais phpmyadmin refuse catégoriquement :

SQL show index from `wp_posts` failed : Table './skyminds/wp_posts' is marked as crashed and last (automatic?) repair failedCode language: JavaScript (javascript)

La solution : lancer myisamchk

La solution que j’ai utilisé consiste à lancer la commande myisamchk, qui est une commande de bas niveau qui va vérifier et réparer notre table.

On commence par arrêter le serveur MySQL :

/etc/init.d/mysql stop

et on lance myisamchk avec ces paramètres sur notre base de données qui se trouve sous /var/lib/mysql/:

myisamchk -r -v -f --sort_buffer_size=128M --key_buffer_size=128M /var/lib/mysql/skyminds/wp_posts.MYICode language: JavaScript (javascript)

Voilà ce que cela retourne :

- recovering (with sort) MyISAM-table '/var/lib/mysql/skyminds/wp_posts.MYI'
Data records: 0
- Fixing index 1
  - Searching for keys, allocating buffer for 295411 keys
  - Dumping 3420 keys
- Fixing index 2
  - Searching for keys, allocating buffer for 3421 keys
  - Dumping 3420 keys
- Fixing index 3
  - Searching for keys, allocating buffer for 3421 keys
  - Dumping 3420 keys
- Fixing index 4
  - Searching for keys, allocating buffer for 3421 keys
  - Dumping 3420 keys
- Fixing index 5
  - Searching for keys, allocating buffer for 3421 keys
  - Dumping 3420 keys
- Fixing index 6
  - Searching for keys, allocating buffer for 3421 keys
  - Dumping 3420 keys
- Fixing index 7
  - Searching for keys, allocating buffer for 3421 keys
  - Dumping 3420 keys
- Fixing index 8
  - Searching for keys, allocating buffer for 3421 keys
  - Dumping 3420 keys
- Fixing index 9
  - Searching for keys, allocating buffer for 3421 keys
  - Dumping 3420 keys
- Fixing index 10
  - Searching for keys, allocating buffer for 1177347 keys
  - Dumping 275199 keys
- Fixing index 11
  - Searching for keys, allocating buffer for 1177347 keys
  - Dumping 275199 keys
- Fixing index 12
  - Searching for keys, allocating buffer for 1177347 keys
  - Dumping 275199 keys
Data records: 3420Code language: JavaScript (javascript)

On relance MySQL :

/etc/init.d/mysql start

et cette fois, tout se passe bien :

Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..

Tout est revenu mais je me dis que je devrais peut-être passer à 2 sauvegardes par jour…

Théodore Bonnet et Nathan Zanagar - On vous quitte pour Free photo

Théodore Bonnet et Nathan Zanagar – On vous quitte pour Free

De nouveaux abonnés Free Mobile se rendent dans une boutique Orange pour un dernier adieu pacifique en interprétant la chanson “On vous quitte pour Free” composée par Théodore Bonnet et Nathan Zanagar :

Je la trouve bon enfant cette petite flash mob, beaucoup plus gentillette que ce que la plupart des gens plus âgés diraient.

Bon après, je crois que les vendeurs des boutiques Orange doivent saturer aussi au bout d’un moment… vous croyez qu’ils passeront chez Free ?

(source)

Lire la suite