Nu e prima dată când a existat o sarcină pentru a umple groapa mare baza de date MySQL de găzduire. Am folosit pentru a face acest lucru cu ajutorul phpMyAdmin, dar în cazul gropilor de uriașe sunt de multe ori probleme. Din cauza limitărilor de memorie și timpul de execuție script în php, fișiere de dimensiuni mari nu au fost procesate înainte de sfârșitul anului. A trebuit să merg la diferite trucuri.
De exemplu, de mai multe ori am inundat fișierul groapa de la server prin SSH și a fugit la programul de la serverul pe care au importat în baza de date. Metoda desigur bună, dar nu au întotdeauna acces la ssh, uneori, nu intră în servicii de hosting, uneori lucrurile trebuie să dau seama cu suportul tehnic gazdă web. Și această acțiune în plus, care doresc întotdeauna să evite. Și într-adevăr programul pe care cu care lucrăm cu un server de la distanță printr-o coajă destul de dificil pentru cei care nu au de lucru cu Linux, T. Pentru a. Este necesar să se scrie manual comenzi pentru același server de la distanță. Poate undeva este organizat mai bine, dar în PuTTY (care se pare că este una dintre cele mai populare, clientul SSH) Am fost o dată destul de greu de înțeles. În general, am întors, desigur, pentru a umple pe o groapa de mare, dar nu am primit multă plăcere, pentru că Am avut război cu câmin de coajă și petrece aproximativ o oră de timp pentru a face față cu acest applet-uri.
După ce am turnat o groapa de la toate mod pervers - a făcut dintr-o bază de date MySQL de pe computerul local, folosind phpMyAdmin gunoiști relativ mici (2-5 MB) și folosind phpMyAdmin pe un server de la distanță turnat fișierele la baza dorită. Metoda de asemenea, nu-i place, pentru că a avut 20 de ori pentru a repeta aceeași acțiune a trebuit să fie atent să nu pierdeți orice bucată de bază și nu se umple până la 2 ori. De asemenea, la copierea și trimiterea de fragmente de text de 2-5 MB browser-ul strict inhibat. Am completat în cele din urmă groapa de gunoi din dreapta, dar din nou pentru aceeași oră, în primul caz.
Atunci când în fața mea din nou problema a apărut de a umple groapa de gunoi imens (aproximativ 100 MB) la un server, am început să mă gândesc cum să evite problemele din primele două cazuri. Ideea de a umple groapa prin FTP, se taie în bucăți cu un script PHP și apoi folosind același script pentru a le importa in baza de date MySQL mi sa părut cea mai bună soluție.
Cu toate acestea, nu a existat nici un moment să programeze și, prin urmare, leneș a încercat să umple rapid groapa de a doua dintre metodele descrise mai sus - prin phpMyAdmin. Am vkinul haldei bucată formă adecvată phpMyAdmin - și browser-ul îngheață în timpul transmiterii sale. După un timp am văzut un mesaj de eroare, în care a fost scris că php nu are suficientă memorie pentru această operațiune. Am vrut să crească cantitatea de memorie alocată php, dar eu încă mai citit la sfârșitul mesajului de eroare. Și a fost scris că pentru descărcarea de fișiere mari trebuie să utilizați informațiile din documentația phpMyAdmin. Documentația a găsit un link către BigDump. care a devenit o soluție la problema mea. Esența acestui scenariu este de aproximativ aceeași ca am conceput mai sus:
- Încărcarea ftp fișier de imagine;
- schimbarea Bigdump.php în fișierul de date pentru a accesa baza de date MySQL;
- Se încarcă bigdump.php fișier prin FTP în același folder în care groapa de gunoi este umplut mai devreme.
După efectuarea acestor operații simple, în fișierul bigdump.php deschis browser-ul și de a vedea ceva de genul:
După cum se vede din figură, gunoiști pot fi simple fișiere text și fișiere. Pe această pagină, selectați fișierul pe care doriți să le importați, și toate - procesul a început. progresul său va raporta această pagină:
P. S. Atenție! Nu uitați să setați codificarea pentru acest script bigdump.php benă pentru întâlnește $ db_connection_charset variabila. În mod implicit, acesta este gol. Prima dată când am uitat despre ea - scrisori românești acoperite în condiții de siguranță, cu un bazin de cupru. Am pus $ db_connection_charset = «utf8" ; - și problema a fost rezolvată.
aaaa, m-am gândit mult timp să mă apăr problemma scris scenariul emulează funcționarea terminalului. și apoi truc se face: încărcați script-ul și dump prin FTP, și apoi pur și simplu introduceți comanda - ceva de genul De asemenea, o opțiune ... Dar ar trebui să existe un drept pentru scripturi PHP pe un Exec sau ceva de genul asta? Super script-ul a fost de mare ajutor în munca lor. Multe mulțumiri pentru programul de exemplu, a chinuit mult timp de întrebarea umple mari baze de date prin ssh a încercat să înțeleagă, dar mai ales nu a funcționat, și timpul de a face acest lucru mai ales nu a fost, a fost necesar să se taie masa lucruri interesante, vă mulțumesc! Mulțumesc. Script-ul a decis următoarea problemă - a trebuit să se mute un pic groapa de un hosting cu o versiune mai veche de MySQL și fără phpmyadmin. Scrierea script-ul a fost prea leneș :) Acest minunat salvat Vă mulțumim vă veți probyvat este acum în funcție de greutatea de 1,2 GB de arhivă liberă Vă mulțumesc ... script-ul a ajutat să completeze într-o bază de date de mare, dar au existat probleme cu cp1251 de codificare ((( Mulțumesc. Am reușit să umple groapa de 300MB forum cu acest script. Mă întreb de ce phpMyAdmin încă nu au adăugat nimic de genul asta. Pentru Sergey: prog Funky! phpMyAdmin să arunce Hoster umple dimensiunea maximă de 20,5 MB. Și am să arunce 21 MB. Și am zburat într-o secundă! Nici nu cred ... atunci, dacă orice eroare, apoi, dacă izbucni într-adevăr! Verificat și tochnyak! de fapt, cea mai bună opțiune de a cumpăra un VPS normal și-l face toate linia de comandă. Și mai rapid și mai ușor și mai fiabile. «În acest moment interogarea include mai mult de 300 de linii de basculante. Acest lucru se poate întâmpla în cazul în care fișierul de imagine a fost creat de către unele instrument care nu are loc o virgulă urmată de o LINEBREAK la sfârșitul fiecărei interogare, sau în cazul în care groapa conține inserturi extinse sau definiții procedură foarte lungi. " Mulțumesc mult. Anterior, el a chinuit cu gropi de umplere, script-ul de super. Un imens MULTUMESC! posta Foarte util! Respect! Umplut două benă - Ura! Și fără a merge să găzduiască suport tehnic! M-am bucurat acest program pe UPU în cazul în care există un acces dip rădăcină și cum să fie, dacă doriți să completați web hosting acolo, acest software nu pornește chiar dacă setați la maxim toate drepturile la foldere și fișiere este o astfel de problemă, și un program de somn functioneaza foarte bine si rapid fara probleme Super toate foarte cool MySQL Eroare: Utilizatorul a depășit \ 'max_questions \' resursa (valoarea curentă: 75000) Unde a urcat max_questions?
mysql -h host.ru -u nume de utilizator -p DBNAME
>> Mă întreb de ce phpMyAdmin încă nu au adăugat nimic asemănător
Senks dezvoltatori!