sql >> Database teknologi >  >> RDS >> Mysql

Mysql ændrer standardmotor

Ændring af værdien af ​​variablen default_storage_engine har ingen effekt på eksisterende tabeller. Alt det gør, er at oprette nye tabeller med den motor, du har angivet i denne variabel, når du ikke angiver den i din create table udmelding. Det er kun en standardværdi.

Husk også, at du skal skelne mellem global og session variable værdier. For virkelig at have MyISAM som standard, når du opretter en ny tabel, og ikke kun for den aktuelle session, skal du gøre det sådan:

SET GLOBAL  default_storage_engine=MYISAM;

Hvis du vil beholde variablen på denne værdi, selv efter genstart af serveren, skal du indsætte følgende linje i din standardfil my.cnf under afsnittet [mysqld]

default_storage_engine = MYISAM

For at konvertere dine nuværende tabeller til MyISAM skal du gøre dette for hver tabel:

ALTER TABLE table_name ENGINE=MyISAM;

Men husk, at din fremmednøgle-begrænsning ikke længere vil fungere, da MyISAM ikke understøtter det. Det vil ikke klage, det vil bare ignorere det. Så du må hellere være sikker på, at du ved, hvad du laver :)



  1. Markørudtryk i MySQL

  2. MySQL REGEXP og gentagne ord

  3. Hvordan kan jeg ændre databasenavnet i AWS RDS til Postgresql?

  4. vælg mulighed for at opdatere anden valgmulighed baseret på mysql-befolkede rullemenuer