做過一些項目,使用了blob字段保存二進制信息,以方便把對象完整保存起來。導出sql文件時沒有問題,然而,在導入時就報 [Err] 2006 - MySQL server has gone away 錯誤。
如果知道mysql正在使用哪個ini配置文件,則直接在配置文件裏修改配置則可解決問題:
- wait_timeout=2880000
- interactive_timeout = 2880000
- max_allowed_packet = 10M
保存後從服務裏重啓mysql服務即可。
然而,有時候,由於不熟悉mysql,不知道使用的是哪個ini配置文件,幾經修改無效後,只能通過命令設置使之生效了。
【查詢全局配置】:
- show global variables like “%timeout%”;
- show global variables like “%packet%“;
【 修改全局配置】:
- set global interactive_timeout= 280000;
- set global wait_timeout= 280000;
不過,這種方法只是修改內存裏的變量,修改完後,並沒有保存起來,重啓mysql服務就恢復變量值了。是個治標不治本的方法。
想要解決這個問題,還是得找出ini配置文件。怎麼找呢。
後來發現,在windows環境下,查看mysql服務屬性發現服務的執行文本是這樣的:
“C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe” –defaults-file=”C:\ProgramData\MySQL\MySQL Server 5.7\my.ini” MySQL57”
啊,原來這個配置文件這樣被配置了。