Zmiana wartości zmiennej default_storage_engine
nie ma wpływu na istniejące tabele. Wszystko, co robi, to tworzenie nowych tabel z silnikiem określonym w tej zmiennej, gdy nie określisz tego w swoim create table
oświadczenie. To tylko wartość domyślna.
Pamiętaj też, że musisz rozróżnić global
i session
wartości zmiennych. Aby naprawdę ustawić MyISAM jako domyślny za każdym razem, gdy tworzysz nową tabelę, a nie tylko dla bieżącej sesji, zrób to w ten sposób:
SET GLOBAL default_storage_engine=MYISAM;
Jeśli chcesz zachować tę wartość zmiennej nawet po ponownym uruchomieniu serwera, musisz umieścić następującą linię w swoim domyślnym pliku my.cnf
w sekcji [mysqld]
default_storage_engine = MYISAM
Aby przekonwertować aktualne tabele na MyISAM, zrób to dla każdej tabeli:
ALTER TABLE table_name ENGINE=MyISAM;
Pamiętaj jednak, że ograniczenie klucza obcego nie będzie już działać, ponieważ MyISAM go nie obsługuje. Nie będzie narzekał, po prostu to zignoruje. Więc lepiej upewnij się, że wiesz, co robisz :)