sql >> Databasteknik >  >> RDS >> Mysql

Mysql ändrar standardmotor

Ändra värdet på variabeln default_storage_engine har ingen effekt på befintliga tabeller. Allt det gör är att skapa nya tabeller med motorn du angav i den här variabeln när du inte anger den i din create table påstående. Det är bara ett standardvärde.

Tänk också på att du måste skilja på global och session variabelvärden. För att verkligen ha MyISAM som standard när du skapar en ny tabell, och inte bara för den aktuella sessionen, gör det så här:

SET GLOBAL  default_storage_engine=MYISAM;

Om du vill behålla variabeln till detta värde även efter att du har startat om servern, måste du lägga in följande rad i din standardfil my.cnf under avsnittet [mysqld]

default_storage_engine = MYISAM

För att konvertera dina nuvarande tabeller till MyISAM gör du så här för varje tabell:

ALTER TABLE table_name ENGINE=MyISAM;

Men kom ihåg att din främmande nyckel-begränsning inte kommer att fungera längre, eftersom MyISAM inte stöder det. Det kommer inte att klaga, det kommer bara att ignorera det. Så du bör vara säker på att du vet vad du gör :)



  1. Hur fyller man i en tabell med ett datumintervall?

  2. Använda Oracle® Heterogeneous Services med två ODBC-datakällor

  3. Unik nyckel kontra unikt index på SQL Server 2008

  4. Kontrollera om ett objekt är en tabell, vy eller lagrad procedur i SQL Server med funktionen OBJECTPROPERTY()