Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL ändert die Standard-Engine

Ändern des Wertes der Variablen default_storage_engine hat keine Auswirkung auf bestehende Tabellen. Alles, was es tut, ist, neue Tabellen mit der Engine zu erstellen, die Sie in dieser Variablen angegeben haben, wenn Sie sie nicht in Ihrem create table angeben Aussage. Es ist nur ein Standardwert.

Beachten Sie auch, dass Sie zwischen global unterscheiden müssen und session variable Werte. Um MyISAM wirklich immer als Standard zu haben, wenn Sie eine neue Tabelle erstellen, und nicht nur für die aktuelle Sitzung, gehen Sie folgendermaßen vor:

SET GLOBAL  default_storage_engine=MYISAM;

Wenn Sie möchten, dass die Variable auch nach einem Neustart des Servers auf diesem Wert bleibt, müssen Sie die folgende Zeile in Ihre Standarddatei my.cnf einfügen unter dem Abschnitt [mysqld]

default_storage_engine = MYISAM

Um Ihre aktuellen Tabellen in MyISAM umzuwandeln, tun Sie dies für jede Tabelle:

ALTER TABLE table_name ENGINE=MyISAM;

Beachten Sie jedoch, dass Ihre Fremdschlüsselbeschränkung nicht mehr funktioniert, da MyISAM dies nicht unterstützt. Es wird sich nicht beschweren, es wird es einfach ignorieren. Sei dir also besser sicher, dass du weißt, was du tust :)