mysql如何導入超大sql文件

       超大sql文件使用navicat導入會很慢,還有可能報“mysql server has gone away”錯誤

       可以登陸mysql服務器使用source命令導入,會快很多,我這裏導入500M,大概用了5分鐘。

1. liunx登陸mysql

    mysql -u 用戶名 -p 數據庫名  

    然後輸入密碼

    登陸mysql控制檯後,執行source命令,等待執行完成就好,(如果你的文件過大,執行報錯,那麼你需要用到第二步)

    source /home/xxx.sql      //這裏是你上傳到linux上到sql文件路徑

 

 

2.修改max_allowed_packet值

   sql文件過大,mysql執行時超過最大包大小,導致連接斷開,導入時報“mysql has gone away”錯誤
   客戶端max_allowed_packet取值範圍4096-2G,默認值是16M
   客戶端net_buffer_length取值範圍1024-512M,默認值16K
   服務器max_allowed_packet取值範圍1024-1G,默認值是1M
   服務器net_buffer_length取值範圍1024-1M, 默認值16K

   //查看通信緩衝區的大小
   show global variables like 'max_allowed_packet';

    

  //調整大小到500M

  set global max_allowed_packet=1024*1024*500;

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

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

  max_allowed_packet = 500M
  重啓MySQL服務...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章