我试图做以下事情,但继续得到" MySQL服务器已经消失了"
我收到了#34; MySQL服务器已经消失了#34;然后更新我的INSERT
以使用一个INSERT command
例如:$queryMySQL = INSERT into table (field1, field2, field3,...) values ('A', '2017-02-01', ..), ('B', '2017-02-01', ..), ('C', '2017-02-01', ...),...'
这没有用,所以我尝试打开一个持久的连接
ini_set('mysqli.reconnect', 'on')
;和$db_mysqli = new mysqli('p:'.$host, $Username,$Pswd,$database);
这没有帮助,所以我尝试插入50,000而不是100,000(我不想做),但仍然得到MySQL server has gone away
由于这是一个共享的hostgator帐户,我无法访问php.ini
或mysql.cnf
有什么建议吗?
答案 0 :(得分:0)
为什么会发生
如果向服务器发送查询,也可能会收到这些错误 不正确或太大。如果mysqld获取的数据包太大。 或者故障,它假设出现了问题 客户端并关闭连接。
可以做什么
避免此问题的简单方法是确保这一点 max_allowed_packet在mysqld服务器中设置得比在 客户端以及所有客户端使用相同的值 max_allowed_packet的。
你能做什么?
由于您已经在使用托管,请要求托管支持部门解决此问题。好吧,如果他们不能,你可以减少查询大小减少它,如果它不能解决你的问题,尝试更改托管。