Mysql的max_allowed_packet問題
在初學mysql時我們可能不會遇到max_allowed_packet的問題速和,但當你需要一次寫入大量的數(shù)據(jù)時轻黑,就可能會遇到mysql提示寫入的數(shù)據(jù)過大問題慢叨。
1.什么是max_allowed_packet:
max_allowed_packet是mysql允許插入一條數(shù)據(jù)的大小
2.查看max_allowed_packe:
在mysql的命令行模式中使用
show VARIABLES like '%max_allowed_packet%’;
![@查看結(jié)果如下 ](http://img.blog.csdn.net/20170419133351579?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTV9BTEw=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/
gravity/SouthEast )
3.解決的辦法:(對mysql的max_allowed_packet的修改懂更。(3種方式))
修改my.cnf文件深夯,設置max_allowed_packet=16M鄙陡,該方法簡單并且永久的生效。完成這些以后必須做的就是對mysql的重啟和項目中對數(shù)據(jù)庫要重新連接生逸,也就是說重啟你的服務(以spring boot來說牢屋,其他類似)且预。
進入mysql的命令行模式,使用set global max_allowed_packet = 2 * 1024 * 1024 * 10;來進行設置大小烙无,可以根據(jù)你項目的需求來進行調(diào)整锋谐,在出錯誤時mysql是會提示你插入的數(shù)據(jù)包的大小和你當前允許的數(shù)據(jù)包的大小的。這是不需要對musql進行重啟的皱炉,重啟后會恢復到以前的設置,所以切記不要重啟狮鸭。當然和上一個相同你的服務還是要重啟的合搅。
在終端 使用mysql --max_allowed_packet=32M 來進行設置。(沒有試過歧蕉,有興趣的可以試試灾部。然后記得回復我)