Convertir les tables MyISAM en InnoDB

Chez les hébergeurs mutualisés, comme Infomaniak, les serveurs de base de données MySQL/MariaDB sont souvent configuré pour créer des tables au format MyISAM par défaut, mais le format de table InnoDB est préférable.

Il est possible de les convertir manuellement en 2 étapes (testé avec WordPress et LimeSurvey).

1. Lister les tables MyISAM

Remplacer database par le nom de la base de données (schema):

select concat(
  'alter table `', table_name, '` engine=InnoDB;')
  as sql_statements
from information_schema.tables
  as tb
where table_schema = 'database'
  and engine = 'MyISAM'
  and table_type = 'BASE TABLE';

2. Exécuter la query générée précédemment

Note qu’avec phpMyAdmin il faut d’abord cliquer sur Options et sélectionner Full Texts.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *