C’est dans les vieux pots… ?
J’ai eu récemment à intervenir sur un de nos serveurs MySQL en production. L’une de nos équipes m’a remonté le fait que la commande SELECT n’affichait pas plus de 1000 enregistrements sur certaines des tables de la base !
J’ai instinctivement pensé à un problème de corruptions de tables, j’ai donc lancé un SHOW TABLE STATUS… et j’ai eu la réponse suivant:
mysql> SHOW TABLE STATUS;
ERROR 1064: You have an error in your SQL syntax near 'TABLE STATUS' at line 1
Même réponse avec un SHOW CREATE TABLE…
En fait la raison de cette erreur 1064 est la suivante:
Version du serveur MySQL 3.22.32 !
Je ne vous raconte pas l’émotion 🙂 L’uptime était de près de 400 jours et le principe « tant que ça marche, on touche pas ! » est pleinement appliqué.
Alors pour ne rien vous cacher, la 3.22 n’est pas la norme chez nous :), les nouveaux projets partent avec de la 5.1 (parfois encore avec de la 5.0).
La 3.22.32 est sortie le 14 février 2000. Voici l’annonce de sa sortie, effectuée par un certain Monty http://lists.mysql.com/announce/45.
La commande SHOW VARIABLES renvoie 37 résultats (274 en 5.1.50)
P.S. Fin mot de cette histoire, un autre symptôme donnait l’erreur suivante:
ERROR 1114: The table 'SQL5662e654_0' is full
Le problème a été réglé, en augmentant la variable tmp_table_size.
Architecte Solution Cloud chez Oracle
MySQL Geek, Architecte, DBA, Consultant, Formateur, Auteur, Blogueur et Conférencier.
—–
Blog: www.dasini.net/blog/en/
Twitter: https://twitter.com/freshdaz
SlideShare: www.slideshare.net/freshdaz
Youtube: https://www.youtube.com/channel/UC12TulyJsJZHoCmby3Nm3WQ
—–