MYSQL數據庫導入大數據量sql文件失敗的解決方案


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文件安裝盤的空間是否足夠。                                     

 


免責聲明!

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



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