程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MYSQL數據庫導入大數據量sql文件失敗的解決方案,mysqlsql

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

編輯:MySQL綜合教程

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


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

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved