Importa baza de date mari (.sql) PhpMyAdmin

Cand avem de lucru cu baze de date, cel mai la indemana ne este, care ne asigura suport de administrare a bazelor de dat eprin interfata web. Din phpMyAdmin putem face orice modificari dorim intr-o baza de date la care avem acces. Putem adauga baze de date, crea, sterge si edita tabele in bazele de date, putem sterge sau putemimporta baze da date.

In configuratia standard (default) functia „Import” din phpMyAdmin, nu ne permite sa facem upload in la fisiere mai mari de 2MB (2,048 KiB). Daca avem de important o baza de date mai mare de 2 MB, atunci intervine eroarea: „You probably tried to upload too large file. Please referer to documentation for ways to workaround this limit.”

phpMyAdminUploadBigDatabaseSQL

O solutie pentru ar sa comprimam baza de date (fisierul .sql) in unul din formatele gzip, bzip2 sau zip, insa daca fisierul bazei de date este foarte mare, atunci cu siguranta nici prin comprimare nu o sa obtinem un fisier sub 2MB care sa poata fi imprtat prin  phpMyAdmin. Singura solutie este sa schimbam marimea limita permisa pentru upload.

FileSQLImport

Change Upload / Import Size Limit in phpMyAdmin

Limita de import este data prin configuratia PHP-ului, iar pentru a schimba aceasta limita va trebui sa editam fisierul care raspunde de configuratia PHP (php.ini).

In functie de sistemul folosit, php.ini poate fi localizat in „/etc/php.ini„, „/etc/php5/apache2/php.ini” sau intr-o alta locatie de pe web server. Cel mai simplu ca sa-l localizam este sa ne logam pe server  (via SSH) si sa dam linia de comanda „locate php.ini„. Dupa ce localizam fisierul php.ini, trecem la editarea lui.

nano /etc/php.ini

LocateandEditphp.inifile

In fisierul php.ini cautam si editam urmatoarele linii:

max_execution_time = 60 ; Maximum execution time of each script, in seconds (def. 30)
max_input_time = 90 ; Maximum amount of time each script may spend parsing request data (def. 60)
memory_limit = 128M ; Maximum amount of memory a script may consume (def. 128mb)
upload_max_filesize = 200M ; Maximum allowed size for uploaded files. (def. 2mb)
post_max_size = 180M ; Maximum size of POST data that PHP will accept.

In cazul nostru am setat ca marimea maxima a fisierului de importat sa nu fie mai mare de 180MB. Asta inseamna ca putem importa prin intermediul phpMyAdmin baze de date de pana la 180MB.

ChangeUploadLimitphpMyAdmin

In funtie de nevoile dvs. schimbati timpul de executie si limita de memorie folosita. Daca timpii setati in php.ini sunt mici, iar fisierul de importat este foarte mare, atunci este posibil sa dea eroarea „time out” la import. Pentru acesta va  trebui sa modificati „max_input_time” si „max_execution_time„. Acest lucru este valabil si pentru limita de memorie, care trebuie sa fie marita in cazul bazelor de date mari. Dupa ce faceti modificarile, folosind editorul „nano”, apasati Ctrl + X apoi „Y” (Yes) si Enter pentru a salva modificarile.

Ultimul pas, este restartarea Apache Web Server.

service httpd restart

sau

/etc/init.d/httpd restart

Dupa restartul de apache puteti incepe importul fisierului cu baza de date.

Lasă un răspuns

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.