sql >> Database >  >> RDS >> Mysql

Verbindingstime-outs voor grote MySQL-imports voorkomen

Strategieën voor het importeren van grote MySQL-databases

PHPMyAdmin importeren

De kans is groot dat als u dit leest, PHPMyAdmin geen optie was voor uw grote MySQL-database-import. Toch is het altijd het proberen waard, toch? De meest voorkomende oorzaak van fouten bij het importeren van PHPMyAdmin is het overschrijden van de importlimiet. Als u lokaal werkt of uw eigen server heeft, kunt u proberen de MySQL ini-instellingen te wijzigen die u gewoonlijk aantreft in het my.ini-bestand in de MySQL-installatiemap. Als je met WAMP op Windows werkt, heb je toegang tot dat bestand via het WAMP-configuratiescherm onder MySQL> my.ini. Vergeet niet om WAMP opnieuw op te starten, zodat uw nieuwe instellingen worden gebruikt. Instellingen die u hier misschien wilt verhogen, zijn:

max_allowed_packet
read_buffer_size

Zelfs met verbeterde MySQL-importinstellingen kan het zijn dat er nog steeds een time-out bij het importeren optreedt vanwege PHP-instellingen. Als u toegang heeft tot PHP.ini, kunt u wijzigingen aanbrengen in de maximale uitvoeringstijd en gerelateerde instellingen. Open in WAMP het PHP.ini-bestand onder het WAMP-configuratiescherm op PHP> php.ini. Overweeg om de limieten voor de volgende instellingen te verhogen terwijl u grote MySQL-imports probeert:

max_execution_time
max_input_time
memory_limit

Big Dump gespreide MySQL-dumpimporter gebruiken

Als het standaard importeren van PHPMyAdmin niet werkt, kunt u het Big Dump-script van Ozerov.de proberen voor gespreide MySQL-import. Wat dit handige script doet, is uw import in kleinere blokken uitvoeren, wat precies is wat vaak nodig is om een ​​grote MySQL-dump met succes te importeren. Het is een gratis download beschikbaar op http://www.ozerov.de/bigdump/ .

Het gebruik van Big Dump is vrij eenvoudig:u plaatst in feite uw SQL-importbestand en het Big Dump-script samen op de server, stelt een paar configuraties in in het Big Dump-script en voert vervolgens het script uit. Big Dump doet de rest!

Een belangrijk punt van deze verder geweldige optie is dat het helemaal niet werkt op MySQL-exports die uitgebreide invoegingen bevatten. Dus als je de mogelijkheid hebt om verlengde inserts te voorkomen, probeer het dan eens. Anders moet je een andere methode gebruiken om je grote MySQL-bestand te importeren.

Ga naar de opdrachtregel met de MySQL-console

Als u WAMP gebruikt (en zelfs als u dat niet bent), is er altijd de mogelijkheid om door te gaan en uw grote MySQL-database te importeren met behulp van de MySQL-console. Ik importeer op deze manier een database van 4 GB terwijl ik dit bericht schrijf. Dat is eigenlijk de reden waarom ik wat tijd heb om te schrijven, want zelfs deze methode kost tijd als je een SQL-bestand van 4 GB moet importeren!

Sommige ontwikkelaars (meestal ik) worden geïntimideerd door een zwart scherm te openen en er cryptische commando's in te typen. Maar het kan bevrijdend zijn, en als het op MySQL-databases aankomt, is dit vaak de beste route. In WAMP hebben we toegang tot de MySQL-console vanuit het WAMP-configuratiescherm op MySQL> MySQL-console. Laten we nu de 2 eenvoudige MySQL Console-opdrachten leren die u nodig hebt om een ​​MySQL-database in opdrachtregelstijl te importeren:

use `db_name`

Commando use gevolgd door de databasenaam vertelt de MySQL-console welke database u wilt gebruiken. Als u de database waarnaar u importeert al hebt ingesteld, begint u met het uitgeven van de use opdracht. Stel dat uw database de naam my_great_database . heeft . Geef in dit geval de volgende opdracht in de MySQL-console. Merk op dat commando's moeten eindigen met een puntkomma.

mysql-> use my_great_database;

mysql-> source sql_import_file.sql

Commando source gevolgd door de locatie van een SQL-bestand zal het SQL-bestand importeren in de database die u eerder hebt opgegeven met de use opdracht. U moet het pad opgeven, dus als u WAMP op uw lokale server gebruikt, begint u met het SQL-bestand ergens gemakkelijk te vinden, zoals C:\sql\my_import.sql. Het volledige commando met dit voorbeeldpad zou zijn:

mysql-> source C:\sql\my_import.sql;

Nadat u die opdracht hebt uitgevoerd, zou het SQL-bestand moeten worden geïmporteerd. Laat de query's uitvoeren en laat de import voltooien voordat u de MySQL-console sluit.

Verdere documentatie voor de MySQL-opdrachtregel is hier te vinden:http:// dev.mysql.com/doc/refman/5.5/en/mysql.html .

Een andere oplossing is om MySQL Workbench te gebruiken .



  1. is het mogelijk om een ​​alfanumerieke sequentiegenerator in sql te hebben?

  2. Afbeelding invoegen in BLOB Oracle 10g

  3. Suggesties voor het implementeren van audittabellen in SQL Server?

  4. Buffercache:wat is het en hoe beïnvloedt het de databaseprestaties?