Een groot SQL-bestand importeren

Ik heb heel wat vragen over dit onderwerp gezien, maar het doornemen hiervan heeft niet geholpen, dus ik vraag het ..

Ik heb een groot SQL-bestand (ongeveer 50 MB) dat ik niet kan importeren met phpmyadmin omdat het beperkt is tot 2,5 MB.

Ik heb geprobeerd om bigdump te gebruiken en ik krijg een foutmelding die zegt dat ik "uitgebreide invoegingen of erg lange proceduredefinities" gebruik.

Ik heb ook geprobeerd de opdracht source uit de console te gebruiken, die me ook een foutmelding geeft dat de gedefinieerde max_allowed_packet te laag is, na het te hebben gewijzigd in 128M (was 16M eerder) Ik krijg een ander probleem waarbij ik tijdens de source -opdracht de verbinding met de DB-server verliest (lokaal gehost):

ERROR 2013 (HY000): Lost connection to MySQL server during query
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
ERROR:
Can't connect to the server
3

4 antwoord

De oplossing die ik heb gevonden, is om het max_allowed_packet verder te verhogen naar 512M.

Dan zal het volgende werken:

mysql -u username -ppassword databasename < file.sql

6
toegevoegd

Werkt dit vanaf de console?

mysql -u username -ppassword databasename < file.sql

(Ja, er is geen spatie tussen het -p en wachtwoord )

1
toegevoegd
Splitsen en veroveren of diagnosticeren?
toegevoegd de auteur Ender Wiggin, de bron
ERROR 2013 (HY000) op regel 90: Verloren verbinding met MySQL-server tijdens zoekopdracht , Ik wil alleen vermelden dat dit een nieuwe server-installatie is met de nieuwste mysql-versie, als dat helpt.
toegevoegd de auteur Or Weinberger, de bron
Bedankt, maar het werkte niet.
toegevoegd de auteur Or Weinberger, de bron
forums.mysql.com/read.php?10,257281, 257435 # msg-257435 - kijk of dat helpt. Zo niet, dan weet ik niet zeker wat ik nog meer moet suggereren.
toegevoegd de auteur Crontab, de bron
@Ender: goed punt, ik veronderstel dat ik zou kiezen voor "split and conquer". Nu verandert het probleem in het schrijven van een script om de DB-invoegtoepassingen in afzonderlijke bestanden te splitsen. =)
toegevoegd de auteur Crontab, de bron

In my case the problem ("Lost connection to MySQL Server during query") was in a corrupted dump file or in the misbehaving HDDs:

Eerst maakte ik een dump op de hoofdserver en kopieerde die dump vervolgens naar de replicatieserver. Maar het lijkt erop dat de replicatieserver problemen had met zijn HDD's en dat de dump beschadigd raakte, d.w.z. MD5 van het oorspronkelijke dumpbestand op de hoofdserver was anders dan MD5 van de dump-kopie op de replicatieserver.

1
toegevoegd

Exporteer of importeer je. Als u importeert, probeer de CSV-indeling.

U kunt exporteren naar CSV en vervolgens importeren. Als het nog steeds niet wordt geïmporteerd, omdat het een groot CSV-bestand is, kunt u het CSV zelf splitsen om het kleinere CSV-bestanden te maken.

0
toegevoegd