php 執行大量sql語句 MySQL server has gone away

php 設置超時時間單位秒php

set_time_limit(3600);
 
php 設置內存限制
ini_set('memory_limit', '1024M');
 
mysql服務端接收到的包的大小設置,未設置報  MySQL server has gone away 錯誤

查看 max_allowed_packet 的值mysql

show global variables like 'max_allowed_packet';

+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+

能夠看到默認狀況下該項的大小隻有4M,接下來將該值設置成150M(1024*1024*150)sql

set global max_allowed_packet=157286400;

此時再查看大小spa

show global variables like 'max_allowed_packet';

785e20e2ec81938375070e548b408d55.png

注:命令行中進行設置只對當前有效,重啓mysql服務以後則恢復默認值,但能夠經過修改配置文件(能夠在配置文件my.cnf中添加max_allowed_packet=150M便可)來達到永久有效的目的命令行

相關文章
相關標籤/搜索