Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt, który wgra mój plik sql do bazy danych
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
L_Devil
Witam!

Poszukuję prostego skryptu, który wgra mi do bazy danych plik sql. Od razu zaznaczam że ręcznie dzielenie go na linie i wgrywanie po kawałku nie wchodzi w grę - plik ma 75 mb, a PhpMyAdmin nie przetrawi pliku powyżej 2 mb (ponad 40 operacji typu kopiuj+wklej może zdenerwować każdego tongue.gif) Co mi polecacie? Plik sql jest już na serwerze
jarrod
Jak zapewne wiesz, zapytanie sql=owe zakończone jest znakiem " ; "
Jednym ze sposobów było by wczytanie tego pliku funkcją file. Wczytuje ona do tablicy linia po lini.
Następnie iterujesz po takiej tablicy szukając znaku " ; "
Kiedy znajdziesz całość co było przed ładujesz do nowej tablicy. To jest jedno całe zapytanie.
Ale aby nie wykonywać kilkuset / kilka tysięcy zapytań możesz ustawić że jedno zapytanie kończy się powiedzmy po 10 " ; ".
Następnie kiedy masz już taką tablicę to po kolei wykonujesz zapytania.
Serwer się trochę napracuje ale to chyba japrostrzy sposób.

Skrypt oczywiście muszisz sobie napisać smile.gif
Adrian Staniszewski
Polecam Bigdumper z phpbb2.pl - lekko przerabiasz i gotowe
Speedy
Polecam program o nazwie Navicat - radzi sobie z dużymi bazami.
W każdym razie z jedną z moich o rozmiarze ponad 35 MB sobie poradził.
mokry
jesli masz dostep do ssh, to proponuje wrzucic informacje wlasnie za jego pomoca

Doakładniej:
Po zalogowaniu się do shella wydajemy polecenie :

mysql -u nazwa_uzytkownika -D nazwa_bazy -phasło < nazwa_kopi.sql

plik nazwa_kopi.sql musi znajdować w bierzącym katalogu
Zaznaczam ze baza danych musi być wcześniej utworzona w panelu oraz musi być pusta.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.