Is je database te groot om te importeren? Hier is de oplossing!

Laatste aanpassing op: Wo, 24 Jan, 2018 at 3:27 PM


Als je een database gebruikt voor je website moet je daar regelmatig een back-up van maken. Op een zeker moment kan die database zo groot worden dat je een back-up via bijvoorbeeld phpMyAdmin niet in één keer terug kunt zetten. Dit heeft uiteraard te maken met de hoeveelheid inhoud van je database; hoe meer gegevens je in de database hebt zitten, hoe groter die wordt. Klinkt wel logisch toch?

Standaard zal phpMyAdmin een database exporteren naar één .sql-bestand. Heb je een grote database, dan kun je bij het importeren wel eens voor een probleem komen te staan.
Meestal is de maximumgrootte van een database 2048KB om die via phpMyAdmin te kunnen importeren. Dit hangt overigens af van de instellingen van de server. Het kan dus per server verschillen.

Nu kun je bij een grote database ervoor kiezen om een database niet in zijn geheel te exporteren, maar in stukjes. Tabel voor tabel bijvoorbeeld of enkel de grote tabel(len) apart. Dat geeft echter een hoop extra werk. En het is vaak achteraf dat je tegen dit probleem aan loopt, dus heb je er niets meer aan op het moment dat je de database terug wilt gaan zetten (importeren).
Een .sql-bestand kun je met een programma als Windows Kladblok gewoon openen en met de hand gaan splitsen (wordt ook wel eens 'opknippen' genoemd), maar dat heeft niet de voorkeur. Het is erg veel werk en dus een tijdrovende klus, en het kan helemaal fout gaan. Een klein foutje is al voldoende om ervoor te zorgen dat je tabellen niet (goed) geïmporteerd worden.

Gelukkig hebben wij hier een betere manier voor!
Op de volgende website kun je gratis een simpel php-script downloaden waarmee je ook grote databases kunt importeren. Dit is mogelijk doordat we alles op de server gaan plaatsen; het importeren gebeurt dus eigenlijk lokaal, op de server. Het hoeft dus niet meer vanaf jouw pc geïmporteerd te worden. Hieronder leggen we je stapsgewijs uit hoe je dit kunt doen.

  • Download om te beginnen eerst het script via: http://www.ozerov.de/bigdump.php en sla het .zip-bestand ergens op.
  • Pak het gedownloade .zip-bestand vervolgens uit; hierna heb je één php-bestand genaamd bigdump.php . We gaan nu eerst de inhoud van dit bestand aanpassen zodat het onze gegevens van de database bevat.
  • Open het bestand in Kladblok of een andere editor. Je zult vervolgens eerst een heleboel regels zien die beginnen met '//'. Deze regels worden door php genegeerd doordat die 2 slashes ervoor staan. De regels bevatten (in dit geval Engelstalige) informatie over het script. Wij beginnen meteen bij de regels die we ook aan moeten gaan passen om het script te kunnen gebruiken.
    // Database configuration
    $db_server = 'localhost'; // Dit is meestal localhost, dus dit laten we staan. (Mocht het iets anders moeten zijn wordt dit meestal door de beheerder van de server wel gemeld.)
    $db_name = 'database'; // Hier vul je de naam van je database in.
    $db_username = 'gebruikersnaam'; // Hier vul je de gebruikersnaam in die je ook gebruikt om de database normaal aan te roepen.
    $db_password = 'wachtwoord'; // Hier vul je het wachtwoord in wat je ook gebruikt om bij de database in te loggen.
    
  • De rest van de inhoud laten we ongemoeid; sla het bestand nu op.
  • Start je favoriete ftp-programma op, log in bij je hostingaccount en ga naar de directory waar je website staat; bij Alphamega is dit 'httpdocs'. Hier kun je het beste even een nieuwe map aanmaken met bijvoorbeeld de naam 'database'.
  • In de nieuwe map upload je vervolgens het zojuist aangepaste php-bestand en ook het database-bestand dat je wilt importeren.
  • Als beide geüpload zijn gaan we in de browser het php-bestand aanroepen, dit doen we in ons geval door te gaan naar: http://www.jouwdomeinnaam.com/database/bigdump.php. In plaats van 'jouwdomeinnaam.com' voer je natuurlijk je eigen domeinnaam in.
  • Je ziet nu de inhoud van het php-bestand met onder 'Filename' de bestandsnaam van jouw .sql-bestand met daarachter de grootte, de datum en tijd van het bestand, het type en daaropvolgend heb je de mogeljkheid om te klikken op 'Start Import' en daar weer achter 'Delete file'.
  • Als we klikken op 'Start Import' dan wordt de back-up van je database geïmporteerd in de database die we ingevuld hebben in het php-bestand bij '$db_name'. Je zult merken dat dit best snel gaat, natuurlijk ook afhankelijk van de grootte van de database. Het gaat zo snel doordat het back-upbestand al op de server staat en niet meer geüpload hoeft te worden. Het wordt enkel 'lokaal' geïmporteerd. Dit zal een hoop ergernis voorkomen bij grote databases. ;-)
  • Als je klaar bent met het importeren kun je als je dat wilt achter je database op 'Delete file' klikken om de database van de server te verwijderen. Dat is wel aan te raden aangezien in dat database-bestand misschien gevoelige informatie zit.


Hopelijk is het nooit nodig om een back-up van je database terug te zetten, maar mocht het toch zover komen, dan kan dit artikel je daarbij helpen!


Vond je dit antwoord nuttig? Ja Nee

Kun je aangeven hoe we dit artikel kunnen verbeteren?
Excuses voor het Engelstalige formulier