Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL change le moteur par défaut

Modification de la valeur de la variable default_storage_engine n'a aucun effet sur les tables existantes. Tout ce qu'il fait, c'est créer de nouvelles tables avec le moteur que vous avez spécifié dans cette variable lorsque vous ne le spécifiez pas dans votre create table déclaration. C'est juste une valeur par défaut.

Gardez également à l'esprit que vous devez faire la distinction entre global et session valeurs variables. Pour vraiment avoir MyISAM par défaut chaque fois que vous créez une nouvelle table, et pas seulement pour la session en cours, procédez comme ceci :

SET GLOBAL  default_storage_engine=MYISAM;

Si vous souhaitez conserver la variable à cette valeur même après le redémarrage du serveur, vous devez mettre la ligne suivante dans votre fichier par défaut my.cnf sous la section [mysqld]

default_storage_engine = MYISAM

Pour convertir vos tables actuelles en MyISAM, procédez comme suit pour chaque table :

ALTER TABLE table_name ENGINE=MyISAM;

Mais gardez à l'esprit que votre contrainte de clé étrangère ne fonctionnera plus, car MyISAM ne la prend pas en charge. Il ne se plaindra pas, il l'ignorera simplement. Donc tu ferais mieux d'être sûr, tu sais ce que tu fais :)