Nagyméretű MySQL dump betöltése

Szembesültem azzal a problémával, hogy míg egy mysql adatbázis dump viszonylag hamar megvan, addig annak a betöltése számos problémát vet fel. Különösen ha extended insert-ekkel lett kiborítva az adatbázis, visszatöltéskor számos probléma adódhat. Ha parancssori hozzáférésünk van, akkor jó pár eszköz van arra, hogy meglévő adatokat szétszabdaljuk, olyan is van, ami megoldja az extended insert problémát is, bár ebből bináris csak macosx van, azt meg épp nem volt kéznél.

Nekem viszont csak egy phpmyadmin volt, meg egy, amúgy nem túl nagy dump, amivel sikeresen fejre is állítottam az említett phpmyadmin-t. Az idő ketyegett, én megígértem hogy segítek ((Na ezt nem kellett volna)). Találtam egy bigdump nevű kis php scriptecskét, amivel viszont megoldható volt a dolog. Sajnos a bigdump amúgy nem túl okos, ezért kénytelen voltam egy helyi mysql-be betölteni az adatokat, abból újból exportálni –skip-extended-insert paraméterrel, majd a bigdump.php-t és az új dumpot feltölteni és hajrá. A feltöltés előtt még be kellett állítani a scriptben pár paramétert (felhasználói név, db, karakterkészlet), ám ez hamar volt.

Ez amúgy nem nagy dolog, de kb. egy órába tellett mire megtaláltam ezt a megoldást. A többivel voltak gondok:

  • elpusztult split közben
  • rettenetesen sok fájlt csinált, mert táblákra bontotta szét a dumpot, így lett kb. száz fájl, amiből 95 apró volt, a maradék meg marha nagy ((Annyira nem is nagy egyébként, de már a kisebbektől is elszédült a szerencsétlen szerver))
  • python, php, ilyesmi kellett volna hozzá, ám nem volt shell hozzáférésem (a php script is cli-s volt), illetve megint előjött volna az, hogy a sok fájlt egyenként kell bekopogtatni a phpmyadmin-baEz a bigdumpos viszont működik browseren keresztül is. Hátránya, hogy kell hozzá egy viszonylag erős mysql szerver addig, amíg egyszer betölti-exportálja az ember az adatokat, ám a mai desktop gépek már bőven elég erősek ahhoz, hogy ezt megoldják.

You may also like...