C’est dans les vieux pots… ?

octobre 22, 2010

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:

MySQL 3.22.32, commande help dans le client texte

MySQL 3.22.32, commande status dans le client texte

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.

MySQL 3.22.32, commande help dans le client texte

MySQL 3.22.32, commande help dans le client texte

La commande SHOW VARIABLES renvoie 37 résultats (274 en 5.1.50)

MySQL 3.22.32, commande show variables dans le client texte

MySQL 3.22.32, commande show variables dans le client texte

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.

Comments are closed.