Wie konvertiere ich die Datenbankspeicher-Engine von InnoDB
in MyISAM
auf MySQL
? Ich habe so viele Sites gefunden, die die Speicher-Engine der Datenbanktabelle konvertieren, aber nicht für die Datenbank .
Danke im Voraus.
Sie können die Standardspeicher-Engine für eine Datenbank nicht ändern. Sie können sie jedoch mit der Einstellung default-storage-engine
config für den gesamten Server ändern. Beachten Sie, dass dies die Speicher-Engine für vorhandene Tabellen jedoch nicht wirklich ändert, nur für neue, die nach der Änderung erstellt wurden.
benutze das!!
SET storage_engine=MYISAM;
ALTER TABLE table_name ENGINE = MyISAM;
-Prost!!
ALTER TABLE `table_name` ENGINE=INNODB
Datenbanken sind nur eine Möglichkeit von MySQL, Namespaces zu erstellen, da der Datenbank also keine Engine zugeordnet ist, nur die Tabellen haben eine Speicher-Engine. Aus diesem Grund können Sie eine Datenbank mit mehreren verschiedenen Tabellen haben, die jeweils eine andere Engine haben.
Sie müssen jede Tabelle einzeln ändern, um sie auf InnoDB umzustellen.
um es dauerhaft zu machen, fügen Sie my.cnf hinzu (je nach Kontext einige Standorte)
/etc/my.cnf
default-storage-engine= MyISAM
aus Sicherheitsgründen geben Sie die Datenbankliste mit .__ aus. Datenbanken anzeigen;
in meinem fall mit php für 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);
In PhpMyadmin 4.5Wählen Sie die Registerkarte der Variablen und suchen Sie nach Speicher-Engine und wählen Sie Bearbeiten und geben Sie MyISAM ein.
Sie können die Storage Engine über PhpMyAdmin ändern. In der Detailansicht der Tabelle. Siehe den Screenshot: