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_0Nä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