1.在討論這個問題之前首先介紹一下什麼是“大數據量sql文件”。
導出sql文件。選擇數據庫-----右擊選擇“轉儲SQL文件”-----選擇"結構和數據" 。保存文件db_mras.sql文件。
2.導入sql文件。在MYSQL中新建數據庫db_mras。選擇數據庫-----右擊選擇“運行SQL文件”-----選擇文件db_mras.sql,運行。
現在發現運行失敗,提示錯誤“MySQL server has gone away” 。針對該問題提出如下解決方案:
提示該錯誤意思是:客戶端與mysql的鏈接斷開了,原因一般為sql運行時間過長或者sql文件太大。
排查問題原因:
(1)mysql服務宕了
運行命令:show global status like 'uptime'; 如果uptime的值很大 表明最近mysql服務沒有重啟。 若日志也沒有相關信息,表明服務沒有重啟過,可以排除這個可能了。
(2)mysql鏈接超時
運行命令:show global variables like '%timeout'; 查看運行結果中wait_timeout的值,一般為28800。代表mysql在誤操作28800秒之後鏈接會關閉。
(3)mysql文件過大
運行命令:show global variables like 'max_allowed_packet'; 查看運行結果max_allowed_packet的值 ,如果過小,需要調整大。
解決方法:
在mysql的my.ini文件末尾加如下幾句話: wait_timeout=2880000; interactive_time=2880000; max_allowed_packet=16M;
其中max_allowed_packet代表控制其緩存區的最大長度。 wait_timeout代表無操作鏈接等待時間。
修改完以上參數之後重啟mysql服務。
查看是否修改成功:運行命令:show global variables like '%timeout'; show global variables like 'max_allowed_packet';
小貼士:如果找不到my.ini文件可以運行命令:mysql --help|grep my.ini 來查找文件路徑。
注意:如果以上辦法沒有解決你的問題,你還需要查看你的mysql文件安裝盤的空間是否足夠。