MySQL 導入數據時 2006-MySQLserver has gone away


MySQL 2006-MySQLserver has gone away

MySQL 2006-MySQLserver has gone away

 

方式一(驗證無誤):

找到 mysql安裝目錄下的my.ini配置文件,加入以下代碼:

max_allowed_packet=2048M

wait_timeout=288000

interactive_timeout = 288000

三個參數注釋如下:

max_allowed_packet是mysql允許最大的數據包,也就是你發送的請求;

wait_timeout是等待的最長時間,這個值大家可以自定義,但如果時間太短的話,超時后就會現了MySQL server has gone away #2006錯誤。

max_allowed_packet參數的作用是,用來控制其通信緩沖區的最大長度

方式二(網上摘抄暫無驗證):

打開navicat的菜單中的tools,選擇server monitor,然后在左列選擇 數據庫,右列則點選variable表單項,尋找max_allowed_packet,將其值改大。

漢化版中:在菜單中,工具-->服務器監控-->在左側數據庫列表前打勾-->在右側變量中找到max_allowed_packet,改大這個值,如9999999999

mysql設置不區分大小寫:

原來Linux下的MySQL默認是區分表名大小寫的,通過如下設置,可以讓MySQL不區分表名大小寫:
1、用root登錄,修改 /etc/my.cnf;
2、在[mysqld]節點下,加入一行: lower_case_table_names=1
3、重啟MySQL即可;

其中 lower_case_table_names=1 參數缺省地在 Windows 中這個選項為 1 ,在 Unix 中為 0,因此在window中不會遇到的問題,一旦一直到linux就會出問題的原因(尤其在mysql對表起名時是無法用大寫字母的,而查詢用了大寫字母卻會出查不到的錯誤,真是弄的莫名其妙)

 

 

查看通信緩沖區的最大長度:

 

show global variables like 'max_allowed_packet';

 

默認最大是1M,可以修改通信緩沖區的最大長度,修改為16M:

 

set global max_allowed_packet=1024*1024*16;

再次查詢:  

接下來重新導入,導入成功!

 

注:修改只對當前有效, 重啟了MySQL他就還是會恢復原來的大小。如果是想永久生效,可以修改配置文件,在my.ini(windows下)或者my.cnf(linux下)加入或修改配置:

 

max_allowed_packet = 16M

重啟MySQL服務...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM