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

MySQL cambia motore predefinito

Modifica del valore della variabile default_storage_engine non ha effetto sulle tabelle esistenti. Tutto ciò che fa è creare nuove tabelle con il motore che hai specificato in questa variabile quando non lo specifichi nel tuo create table dichiarazione. È solo un valore predefinito.

Tieni inoltre presente che devi distinguere tra global e session valori variabili. Per avere davvero MyISAM come predefinito ogni volta che crei una nuova tabella, e non solo per la sessione corrente, fallo in questo modo:

SET GLOBAL  default_storage_engine=MYISAM;

Se vuoi mantenere la variabile su questo valore anche dopo aver riavviato il server, devi inserire la riga seguente nel tuo file predefinito my.cnf nella sezione [mysqld]

default_storage_engine = MYISAM

Per convertire le tue tabelle attuali in MyISAM, fallo per ogni tabella:

ALTER TABLE table_name ENGINE=MyISAM;

Ma tieni presente che il tuo vincolo di chiave esterna non funzionerà più, poiché MyISAM non lo supporta. Non si lamenterà, semplicemente lo ignorerà. Quindi è meglio che tu sia sicuro, sai cosa stai facendo :)