2017-10-12 1 views
0

Ich habe gerade einen SQL-Server auf meinem Computer installiert und wies den Datenspeicher auf ein anderes Nicht-C-Laufwerk. Ich habe nach Kaggle Daten als Test zu importieren wurde versucht, über eine Tabelle erstellen:MySQL - Fehler 2013: Verlorene Verbindung zum MySQL-Server während der Abfrage - Localhost

LOAD DATA LOCAL INFILE 'G:\\Extract_large\\user_logs.csv' 
INTO TABLE user_logs 
fields terminated by ',' 
enclosed by '"' 
lines terminated by '\n' 
ignore 1 rows; 

natürlich für die Daten ist ziemlich groß und während jeder versucht Import ich konsequent Verbindung über Error Code: 2013 Lost connection to MYSQL server during Query an den Server verliere. Ich habe einige die Suche und stieß auf ein paar anderen ähnlichen Themen in Stackoverflow (nicht speziell für localhost), die mich den DBMS Verbindungsparameter zu erhöhen führe, gezielt eingestellt I:

DBMS connection Keep-alive interval (in seconds): 10,000 
DBMS connection read timeout (in seconds): 200 
DBMS connection timeout (in seconds): 10,000 

Das ist nicht das Problem behoben wurde, so dass ich weiter bearbeitet die my.ini Information zu setzen max_allowed_packet=100000M. Nachdem ich den Server neu gestartet habe, funktionierte das immer noch nicht.

Schließlich versuchte ich set global max_allowed_packet=500000000000 in SQL. Wieder ohne Erfolg. Ich bin auf Ideen ... Hilfe?

Hier sind die anderen Threads ich es geschafft, zu diesem Thema nützlich zu finden: here, here und here.

Hinweis: Ich verwende Windows 7 mit MySQL 5.7. Der Fehler scheint entweder bei 30,5 oder 1573,6 Sekunden aufzutreten (geben Sie einige Millisekunden ein).

+0

Ich war mir nicht bewusst, dass SQL-Server von der Bezugnahme auf einen MySQL-Server unterschied. Tags wurden bearbeitet. – WolVes

Antwort

0

Der größte zulässige Wert für max_allowed_packet gemäß 1G https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_allowed_packet

habe ich versucht, einen Test mit MySQL 5.6.31 es 500G zu ändern, wie Sie getan haben, aber die Änderung ignoriert wird, und der vorherige Wert ist immer noch in bewirken.

Beachten Sie außerdem, dass Sie zusätzlich zum Ändern des serverseitigen max_allowed_packet möglicherweise die Option mit demselben Namen in einigen Clients ändern müssen, insbesondere mysql und mysqldump. Andere Befehlszeilenclients verwenden den Clientstandard 1 GB. Wenn Sie LOAD DATA unter Verwendung des mysql Clients ausführen, müssen Sie dem Client eine größere Paketgröße mitteilen.

mysql --max_allowed_packet=1073741824 ... 
Verwandte Themen