2012-05-18 24 views
15

Ive得到導入SQL數據的1go,我提出了max_allowed_pa​​cket的到1100M是肯定的。導入1GO SQL文件=> ERROR 2013(HY000)在第23行:查詢過程中丟失連接到MySQL服務器

所以我用:

我查詢

mysql -u root -p -D mainbase < GeoPC_WO.sql 

但1分鐘後它的過程中停止,我得到這個錯誤:

**ERROR 2013 (HY000) at line 23: Lost connection to MySQL server during query 
**Lost connection to MySQL server during query**** 
+0

sql文件不包含錯誤,其世界數據庫地理定位表 – Anthony

+0

它們是否被插入? –

+0

你試過這個嗎? http://stackoverflow.com/questions/10563619/error-code-2013-lost-connection-to-mysql-server-during-query – Joand

回答

11

可能你有一些大的插入比你的最大規模更大的陳述。檢查你的/etc/mysql/my.cnf文件或者它的位置。不記得默認值是什麼 - 但將它設置爲像下面這樣大的值可能會有所幫助。

這是一個選項

[mysqld] 
max_allowed_packet = 16M 

也許其他方式

[mysqldump] 
max_allowed_packet = 16M 
+0

Ive得到了還是一樣的錯誤: – Anthony

+0

我設置: 的[mysqld] max_allowed_pa​​cket的= 1000M 也許其他方式 [ mysqldump] max_allowed_pa​​cket = 1000M 並在第23行得到這個錯誤錯誤2013(HY000):在查詢期間丟失連接到MySQL服務器 它崩潰的SQL服務器,我得重新啓動它。 任何想法? – Anthony

+0

1Gb的數據包是有點極端:-)還有其他原因的連接可以消失 - 即超時 –

13

我有完全相同的問題。 1小時掙扎後,我解決了這個設置

net_write_timeout 

到一個較高的值(在我的處境很)

+1

這是唯一的解決方案在我的情況下工作:像「mysqldump | mysql」,「mysql」命令發送數據到另一個主機,速度太慢,導致超時(直接轉儲到文件工作正常,管道到mysql失敗) – golimar

+1

謝謝!也爲我工作。 –

1

在我的情況下,問題(「查詢過程中丟失連接到MySQL服務器」 )是在一個損壞的轉儲文件或在行爲不當的HDD:

首先,我在主服務器上進行了轉儲,然後將該轉儲複製到複製服務器。但似乎複製服務器的硬盤出現問題,並且轉儲損壞,即主服務器上原始轉儲文件的MD5與複製服務器上轉儲副本的MD5不同。

0

你可以用這個嘗試:

第一:

sudo /etc/init.d/mysql stop 

那麼你應該編輯這個文件:

sudo vi /etc/mysql/my.cnf 

以下行添加到的[mysqld]部分:

innodb_force_recovery = 4 

最後:

sudo /etc/init.d/mysql start 

(innodb_force_recovery強制InnoDB存儲引擎啓動。值4意味着您的數據文件可能已損壞。欲瞭解更多信息,您可以訪問:http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html

問候。

0

在我的情況下,這是因爲缺乏內存,我試圖導入一個90MB的壓縮sql文件到一個1GB的RAM vps服務器,並且錯誤2013繼續發生,直到我關閉httpd服務釋放一些內存並運行再次輸入命令,然後它成功了。

相關問題