Situatie
Solutie
Atunci cand avem de importat fisiere .SQL mari intr-o baza de data, metoda clasica prin intermediul phpMyAdmin nu este o solutie tocmai buna. De cele mai multe ori ne lovim de un “reqest timeout“. Cel mai simplu este sa ne conectam SSH / consola la serverul ce tine baza de date, sa facem upload la fisiereul .sql si apoi sa executam liniile de comanda specifice pentru import.
mysql -u db_user -p -h localhost db_name < /path/sql_file.sql
Daca dupa executarea liniei de comanda si introducerea parolei bazei de date intampinati eroarea: “ERROR 2006 (HY000) at line 1281: MySQL server has gone away”, de cele mai multe ori este vorba despre depasirea unei limite de volum pentru fisierele importate. Este foarte posibil ca in configurarile standard ale MySQL, limita de volum stabilita in “max_allowed_packet” sa fie mai mica decat cea a fisierului pe care doriti sa-l importati in baza de date.
Cea mai simpla solutie este sa editam fisierul “my.cnf” si sa stabilim o limita adecvata nevoilor noastre. De exemplu, daca dorim sa importam un fisier .SQL de 320 MB, atunci editam fisierul “my.cnf” si adaugam linia:
max_allowed_packet=400M
Dupa editare si salvare, restartam serviciul mysql pe server si reluam linia de comanda pentru import. Totul ar trebui sa functioneze fara probleme.
Leave A Comment?