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 failed
Code 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.
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 failed
Code 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.MYI
Code 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: 3420
Code 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…
Rencontrez-vous des défis avec votre site WordPress ou WooCommerce? Laissez-moi les résoudre pour vous.
I would have done the same !! lol
Merci, très utile
Merci ! vraiment utile !
Un grand merci, vous avez sauvé ma base :)
Je t’en prie Romain :)
Je t’aime :)
Après 1 journée d’acharnement :) :) :)
Content que cela ait pu t’aider :)
Bonjour,
Merci pour le partage, j’ai pu réparer le GLPI de ma société :)
Bonjour nakwada,
Je suis heureux que cela t’ait rendu service :)
Bonjour,
Merci beaucoup pour ce tuto très détaillé et clair !!!
J’ai pu également sauver la base GLPI de mon entreprise qui s’était crash suite à un disque full…
Merci encore,
Damien
interessant.
J’ai eu se probleme mais j’aimerai en connaitre la cause; vous avez une idée ?
Pour ma part, pas de probleme d’espace disque (site WordPress sous debian9 Mariadb)
Bonjour Alex,
Les causes peuvent être variées : un serveur SQL qui n’a pas rebooté ou mis à jour depuis longtemps, une collision de paquets qui gêne l’ordonnancement des données. Cela arrive souvent avec MyISAM, beaucoup moins souvent avec InnoDB.