sql >> Database >  >> RDS >> Mysql

MySQL InnoDB Storage Engine-ondersteuning inschakelen in XAMPP-installatie

De XAMPP van Apache Friends is een verzameling gratis open source-apps die het gemakkelijk maken om Apache-distributie met MySQL, PHP en Perl te installeren. Er zijn vier XAMPP-distributies voor Windows, Linux, Mac OS X en Solaris. Om een ​​Apache-webserver met XAMPP in te stellen, hoeft u alleen maar XAMPP te downloaden en uit te pakken, en de Apache HTTPD-webserver is klaar na een of twee extra automatische uitvoeringsscripts. Er zijn geen wijzigingen in het Windows-register (tenzij u de Widows-installatieversie van XAMPP gebruikt) en het is niet nodig om configuratiebestanden te bewerken.

Standaard is de InnoDB MySQL-databaseopslagengine echter niet ingeschakeld in het my.cnf-configuratiebestand. Als een webmaster van plan is om InnoDB-functies te gebruiken, zoals een-op-veel- of veel-op-veel-tabelrelaties op basis van externe sleutelbeperkingen, of transactieveilige commando's zoals commit-, rollback- en crashherstelmogelijkheden.

Om de ondersteuning van de MySQL-server op de InnoDB-opslagengine in te schakelen, zoekt u het configuratiebestand "my.cnf" op (normaal gesproken in /installatiepad /xampp/mysql/bin/ directory), en bewerk de my.cnf met een teksteditor zoals vi.

Zoek en lokaliseer elk van de volgende regels (behalve de regels in cursief waar ze opmerkingen zijn):

- Geef commentaar op de volgende regel om het overslaan op te heffen en InnoDB te gebruiken skip-innodb - Verwijder commentaar bij de volgende opties voor de InnoDB-database als u InnoDB-tabellen gebruikt. #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_data_file_path =ibdata1:10M:automatische verlenging - Maak commentaar op de regels en stel innodb_buffer_pool_size in op 50% - 80% RAM voor optimalisatie van InnoDB-databases, probeer het geheugengebruik niet te hoog te maken. #set-variable =innodb_buffer_pool_size=16M #set-variable =innodb_additional_mem_pool_size=2M - Verwijder commentaar bij de regels en stel innodb_log_file_size in op 25% van de InnoDB-bufferpoolgrootte voor optimalisatie. #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 

Na wijziging zou de code voor elke regel er als volgt uit moeten zien:

# 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 /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_log_at_trx_commit =prelock 

Wanneer InnoDB niet is ingeschakeld en MySQL in plaats daarvan de MyISAM-database-opslagengine gebruikt, kunnen enkele fouten worden geretourneerd:

Ongedefinieerde GET-eigenschap of variabele in klasse 'A_Class':A_Class_Object

Fatale fout:Aanroep naar ongedefinieerde methode Object::Function() in /xampp/htdocs/wwwroot/a_page.php op regel 87


  1. 'wachtwoordverificatie mislukt voor gebruiker postgre'

  2. ODBC-gegevens gebruiken in RapidMiner

  3. Teradata vullen met realistische testgegevens De Novo

  4. 9 vitale taken waarvoor DBA's verantwoordelijk zijn