sql >> Databasteknik >  >> RDS >> Mysql

Aktivera MySQL InnoDB Storage Engine Support i XAMPP-installation

XAMPP från Apache Friends är en samling gratis appar med öppen källkod som gör det enkelt att installera Apache-distribution som innehåller MySQL, PHP och Perl. Det finns fyra XAMPP-distributioner för Windows, Linux, Mac OS X och Solaris. För att ställa in en Apache-webbserver med XAMPP laddar du bara ner och extraherar XAMPP, så är Apache HTTPD-webbservern klar efter ytterligare ett eller två autoexekveringsskript. Det finns inga ändringar i Windows-registret (såvida du inte använder Widows installationsversion av XAMPP) och det är inte nödvändigt att redigera några konfigurationsfiler.

Men som standard är InnoDB MySQL-databaslagringsmotorn inte aktiverad i my.cnf-konfigurationsfilen. Om en webbansvarig planerar att använda InnoDB-funktioner, såsom en till många eller många till många tabellrelationer på främmande nyckelbegränsningar, eller transaktionssäkra kommandon som commit, rollback och kraschåterställningsfunktioner.

För att aktivera stödet för MySQL-servern på InnoDB-lagringsmotorn, leta reda på "my.cnf"-konfigurationsfilen (normalt i /installation_path /xampp/mysql/bin/-katalogen), och redigera my.cnf med valfri textredigerare som vi.

Sök och lokalisera var och en av följande rader (förutom raderna i kursiv). där de är kommentarer):

- Kommentera följande rad för att hoppa över och använda InnoDB skip-innodb - Avkommentera följande alternativ för InnoDB-databasen om du använder InnoDB-tabeller. #innodb_data_home_dir =C:/xampp/xampp/mysql/data/ #innodb_data_file_path =ibdata1:10M:autoextend #innodb_log_group_home_dir =C:/xampp/xampp/mysql/data/ #innodb_log_arch_dir/qm/c:/xamp/ - Avkommentera raderna och ställ in innodb_buffer_pool_size upp till 50 % - 80 % av RAM-minnet för optimering av InnoDB-databaser, försök att inte använda minnet för högt. #set-variable =innodb_buffer_pool_size=16M #set-variable =innodb_additional_mem_pool_size=2M - Avkommentera raderna och ställ in innodb_log_file_size till 25 % av InnoDB-buffertpoolens storlek för optimering. #set-variable =innodb_log_file_size=5M #set-variable =innodb_log_buffer_size=8M #innodb_flush_log_at_trx_commit=1 #set-variable =innodb_lock_wait_timeout=50 

Efter modifiering ska koden för varje rad se ut så här:

# skip-innodb innodb_data_home_dir =C:/xampp/xampp/mysql/data/ innodb_data_file_path =ibdata1:10M:autoextend innodb_log_group_home_dir =C:/xampp/xampp/mysql/data/innodb_log C:xamp_dirq/mysql/data/innodb_log C:/data/ set-variable =innodb_buffer_pool_size=16M set-variable =innodb_additional_mem_pool_size=2M set-variable =innodb_log_file_size=5M set-variable =innodb_log_buffer_size=8M innodb_flush_buffer_size=8M innodb_flush_log_commit_trod=innodb_flush_variable_at_trod=pre_flush_log_at_trod1_0 

När InnoDB inte är aktiverat och MySQL använder MyISAM databaslagringsmotor istället, kan några fel som kan returneras:

Odefinierad GET-egenskap eller variabel i klassen 'A_Class':A_Class_Object

Fatalt fel:Anrop till odefinierad metod Object::Function() i /xampp/htdocs/wwwroot/a_page.php på rad 87


  1. Varför skapar man en vy i en databas?

  2. SUM() Funktion i MySQL

  3. Anropa en Oracle-funktion från Java

  4. Hur kan vi se den krypterade lagrade procedurens kropp i SSMS?