Importowanie dużych baz mysql
CzytajÄ…c różne fora czÄ™sto natrafiam na tematy zwiÄ…zane z kwestiÄ… importu dużych baz mysql. UżywajÄ…c do tego phpmyadmin (standardowo) pojawia siÄ™ problem z ograniczeniami lub timeoutem. Jednak jest na to bardzo prosty sposób, a raczej skrypt napisany przez Alexey’a Ozerova, można go pobrać klikajÄ…c tutaj.
Poniżej krótka instrukcja użycia narzędzia:
Rozpakowujemy archiwum i otwieramy bigdump.php dowolnym edytorem php. Skaczemy do linkijki #40 i uzupełniamy dane bazy:
$db_server = ‘localhost’; //najczęściej localhost lub inny podany przez providera hostingu
$db_name = ”; //nazwa bazy
$db_username = ”; //użytkownik
$db_password = ”; //hasÅ‚o
W kolejnych kilku linijkach uzupełniamy pola:
$csv_insert_table = ”; // OPCJONALNIE - żródÅ‚o tabel jeÅ›li importujemy plik .csv
$ajax = true; // użycie AJAX (true/false): jeśli tak import bez odświeżania strony
$filename = ”; // nazwa pliku importowanego (np.’import.sql’)
$linespersession = 3000; // Liczba linijek importowanych podczas jednej sesji
$delaypersession = 0; // Czas przerwy pomiędzy sesjami w milisekundach
// Działa tylko przy włączonym javascript. Zapobiega przeciążaniu serwera.
Możemy także ustawić zestaw znaków, który bÄ™dzie używany przy imporcie (powinien być taki sam w jakim zakodowany jest plik importowany, np.’utf8′) w linijce #65
$db_connection_charset = ”;
Plik zapisujemy i wrzucamy na serwer razem z importowanym plikiem.
W przeglądarce odpalamy http://[adres_url]/bigdump.php i postępujemy zgodnie z instrukcjami na ekranie aż do pojawienia się infomacji o sukcesie i wtedy otwieramy piwko i nie męczymy for zbędnymi tematami:)
Ważne:
- pamiętaj o odpowiednim eksporcie bazy danych, tzn. nie należy używać rozszerzonych dodań (extended inserts) - należy odznaczyć tą opcję przy eksporcie z phpmyadmin
- jeśli otrzymujesz timeout error zmniejsz $linespersession w pliku bigdump.php
- jeśli podczas importu serwer mysql padnie należy ustawić odpowiednio duży $delaypersession w w pliku bigdump.php
Powodzenia !!

This post has 6 comments
wrzesień 9th, 2007
Witam
Jak podłączyć bazę danych do konta znajdującą sie na innym serwerze??
Pozdrawiam
Adrian
wrzesień 10th, 2007
Ustawić odpowiedni adres serwera MySQL = mysql_connect(”adres_serwera_mysql”, “uzytkownik”, “haslo”)
wrzesień 10th, 2007
Wpisałem adres serwera MySQL czyli costam.cal.pl ale nie działa, a gdy wpisuje to zamiast localhost na serwerze cal.pl to wtedy działa, co zrobić żeby działo to również na innym serwerze??
Pozdrawiam
Adrian
wrzesień 11th, 2007
Być może cal.pl blokuje dostęp do mysql z innych serwerów, proponuje skontaktować się z ich BOK-iem. Pozdrawiam.
luty 5th, 2008
A gdzie mam mieć tą bazę którą chce zimportować na serwer? Mam ją wrzucić na serer do katalogu gdzie mam ten plik bigdump.php? Wiem że to pytanie wyda się wam śmieszne ale jestem zielony w tym temacie i nie moge sobie poradzić żeby zgrać moją baze (pand 200mb)
czerwiec 7th, 2008
Witam, a ja mam pytanie czy da się jeszcze jakoś w tym bigdump nie importować bazę, a uzupełnić już istniejącą. Chodzi mi o to iż posiadam galerie zdjęć z zaimportowanymi zdjęciami że stare. I potrzebuję wgrać opisy tych zdjęć które mam importowane że starej galerii. I chce po prostu te 2 bazy połączyć (porównując nazwę zdjęcia)
Add a comment