sql >> Database >  >> RDS >> Mysql

Mysql verandert standaard engine

De waarde van de variabele default_storage_engine wijzigen heeft geen effect op bestaande tabellen. Het enige dat het doet, is nieuwe tabellen maken met de engine die u in deze variabele hebt opgegeven wanneer u deze niet opgeeft in uw create table uitspraak. Het is gewoon een standaardwaarde.

Houd er ook rekening mee dat u onderscheid moet maken tussen global en session variabele waarden. Om echt MyISAM als standaard te hebben wanneer u een nieuwe tabel aanmaakt, en niet alleen voor de huidige sessie, doet u het als volgt:

SET GLOBAL  default_storage_engine=MYISAM;

Als u de variabele op deze waarde wilt houden, zelfs nadat de server opnieuw is opgestart, moet u de volgende regel in uw standaardbestand my.cnf plaatsen onder de sectie [mysqld]

default_storage_engine = MYISAM

Om uw huidige tabellen naar MyISAM te converteren, doet u dit voor elke tafel:

ALTER TABLE table_name ENGINE=MyISAM;

Houd er echter rekening mee dat uw externe sleutelbeperking niet meer zal werken, omdat MyISAM dit niet ondersteunt. Het zal niet klagen, het zal het gewoon negeren. Dus je kunt maar beter zeker weten wat je doet :)



  1. Hoe ORA-01775 te debuggen:een reeks synoniemen in een lus?

  2. Hoe kan ik een afbeelding van SQL Server weergeven met ASP.NET?

  3. Databasenormalisatie voor Facebook-achtig berichtensysteem

  4. Correcte methode voor het verwijderen van meer dan 2100 rijen (op ID) met Dapper