MySQL服务器已经消失 - 共享帐户

时间:2017-02-04 21:42:42

标签: php mysql mysqli

我试图做以下事情,但继续得到" MySQL服务器已经消失了"

  1. 从informix数据库中读取大约100,000行(每行约400个字符)。 没有这个问题
  2. 将100,000行插入托管在共享hostgator帐户
  3. 上的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.inimysql.cnf

    有什么建议吗?

1 个答案:

答案 0 :(得分:0)

为什么会发生

  

如果向服务器发送查询,也可能会收到这些错误   不正确或太大。如果mysqld获取的数据包太大。   或者故障,它假设出现了问题   客户端并关闭连接。

可以做什么

  

避免此问题的简单方法是确保这一点   max_allowed_pa​​cket在mysqld服务器中设置得比在   客户端以及所有客户端使用相同的值   max_allowed_pa​​cket的。

你能做什么?

由于您已经在使用托管,请要求托管支持部门解决此问题。好吧,如果他们不能,你可以减少查询大小减少它,如果它不能解决你的问题,尝试更改托管。

MYSQL Reference