Comment convertir le moteur de stockage de la base de données de InnoDB
en MyISAM
sur MySQL
?
Merci d'avance.
Vous ne pouvez pas modifier le moteur de stockage par défaut d'une base de données, mais vous pouvez le modifier pour l'ensemble du serveur à l'aide du paramètre default-storage-engine
config. Notez que cela ne modifiera toutefois pas le moteur de stockage pour les tables existantes, mais uniquement pour les nouvelles tables créées après la modification.
utilisez ceci!!
SET storage_engine=MYISAM;
ALTER TABLE table_name ENGINE = MyISAM;
-à votre santé!!
ALTER TABLE `table_name` ENGINE=INNODB
Les bases de données ne sont que la manière dont MySQL utilise les espaces de noms. En effet, la base de données n'est associée à aucun moteur, seules les tables ont un moteur de stockage. C'est pourquoi vous pouvez avoir une base de données avec plusieurs tables différentes ayant chacune un moteur différent.
Vous devrez modifier chaque table une par une pour les passer à InnoDB.
pour le rendre permanent, ajoutez-le à my.cnf (quelques emplacements en fonction du contexte)
/etc/my.cnf
default-storage-engine= MyISAM
pour des raisons de sécurité, affichez la liste des bases de données avec montrer des bases de données;
dans mon cas, en utilisant php pour quickie ..
$db = mysql_connect('localhost','someadmin','somepass');
$dbs = array();
$dbs[] = 'test';
$dbs[] = 'myImportantDb';
foreach($dbs as $v){
mysql_select_db($v);
$q = mysql_query('show tables');
$tables = array();
while($r = mysql_fetch_row($q)){
$tables[] = $r[0];
}
foreach($tables as $t){
echo "do $v.$t\n";
mysql_query('ALTER TABLE `'.$t.'` ENGINE=MyISAM;');
}
}
mysql_close($db);
Dans PhpMyadmin 4.5 Sélectionnez l'onglet variable et recherchez pour storage engine et sélectionnez Edit et tapez MyISAM.
Vous pouvez changer le moteur de stockage via PhpMyAdmin. Dans la vue détaillée de la table. Voir la capture d'écran: