Mysql導入sql文件可能出現的問題
1、可能出現的錯誤
本地導入sql文件時,出現'MySQL server has gone away'的錯誤
2、問題分析:
'MySQL server has gone away'的問題意思就是指client和MySQL server之間的鏈接斷開了。造成這樣的原因一般是sql操作的時間過長,或者是傳送的數據太大。mysql根據配置文件會限制server接受的數據包大小。有時候大量數據的插入和更新會受max_allowed_packet 參數限制,導致寫入或者更新失敗。
3、解決辦法:
查看目前配置:show VARIABLES like '%max_allowed_packet%';
以上說明目前的配置是:1M(1024*1024)
4、修改方法
1)修改配置文件(永久生效,需要重啟才能生效)
編輯mysql的配置文件my.ini或者my.cnf(不同環境,mysql配置文件的后綴名可能不同)
max_allowed_packet = 20M(最大可輸入256M即256*1024*1024)
2)命令行修改 (臨時生效,好處是不用重啟mysql,下次重啟失效)
在mysql 命令行中運行:
set global max_allowed_packet = 20M(最大可輸入256M),然后退出命令行,重啟mysql服務,再進入。
在命令行下改配置項的時候使用set global或者set session,設置完查看如果不生效只需退出命令行重新進入。
3)有時如果文件太大,需要配置這三項:
interactive_timeout = 120
wait_timeout = 120
max_allowed_packet = 32M