MySQL Server 8 : désactiver les moteurs inutilisés
Juste après avoir installé MySQL Server 8, j’ai voulu voir quels étaient les moteurs utilisés au niveau de l’instance. Oracle a décidé d’abandonner purement et simplement MyISAM pour le stockage des tables de la base MySQL.
La liste des moteurs utilisés
Pour disposer de la liste des moteurs utilisés, vous pouvez exécuter cette requête :
SELECT DISTINCT engine FROM information_schema.tables;
Les motorisations installées
Et grâce à cette autre requête, vous disposerez de l’ensemble des motorisations présentes et possibles dans votre instance MySQL :
SELECT plugin_name FROM information_schema.plugins WHERE plugin_type='STORAGE ENGINE' AND plugin_status='ACTIVE'
Désactiver les moteurs inutilisés
Afin de désactiver les moteurs MyISAM, MRG_MYISAM, BLACKHOLE et ARCHIVE, créez le fichier de configuration /etc/mysql/mysql.conf.d/engines.cnf et ajoutez-y les lignes suivantes :
[mysqld] disabled_storage_engines = "MyISAM,MRG_MYISAM,BLACKHOLE,ARCHIVE"
Cette ligne de commande ne peut pas être ajoutée, hélas, avec SET PERSIST dans le fichier mysql-auto.conf du fait que la variable disabled_storage_engines est en lecture seule et non dynamique (Dynamic -> no).
Vérification
J’ai essayé, après avoir redémarré l’instance, de créer une table MyISAM sous MySQL Workbench. En vain. CQFD.