Type & hit enter to search
Social Icons

ERROR 1296 (HY000): Got error 64 ‘Temp file write failure’ from InnoDB

Dernièrement lors d’une tentative de modification d’une table assez conséquente j’ai été confronté au message d’erreur suivant : « ERROR 1296 (HY000): Got error 64 ‘Temp file write failure’ from InnoDB »

Après plusieurs tests et recherches j’ai compris que cela venait d’un problème d’écriture dans le fichier temporaire. J’ai donc mis en place une solution de contournement consistant à créer une table identique vide, à la modifier et ensuite en insérant les informations de l’ancienne dedans.

  1. CREATE TABLE companies_with_point LIKE companies;
  2. ALTER TABLE companies_with_point ADD localisation POINT;
  3. INSERT INTO companies_with_point (id, siret, …) SELECT id, siret, … FROM companies;

Dans mon cas, avec près de dix millions d’enregistrement la manipulation a été un peu longue mais au moins cela fonctionne.

Pour en savoir plus sur MySQL je vous invite à consulter les excellentes formations MySQL réalisées chez Openska. Vous pouvez aussi vous procurer mon non moins excellent livre sur l’optimisation PHP ou je fais la part belle à MySQL !