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

Php MySQL服务器已消失-共享帐户,php,mysql,mysqli,Php,Mysql,Mysqli,我试着做下面的事情,但不断得到“MySQL服务器已经消失了” 从informix数据库中读取大约100000行(每行大约400个字符)这方面没有问题 将100000行插入托管在shared hostgator acct上的MySQL表中 我收到“MySQL服务器已经消失”,然后更新了我的INSERT以使用一个INSERT命令 例如:$queryMySQL=将值('A','2017-02-01',…)('B','2017-02-01',…),('C','2017-02-01',…)插入表(字段1,

我试着做下面的事情,但不断得到“MySQL服务器已经消失了”

  • 从informix数据库中读取大约100000行(每行大约400个字符)这方面没有问题
  • 将100000行插入托管在shared hostgator acct上的MySQL表中
  • 我收到“MySQL服务器已经消失”,然后更新了我的
    INSERT
    以使用一个
    INSERT命令

    例如:
    $queryMySQL=将值('A','2017-02-01',…)('B','2017-02-01',…),('C','2017-02-01',…)插入表(字段1,字段2,字段3,…)中。

    这不起作用,所以我尝试打开一个持久连接
    ini_集('mysqli.reconnect','on')
    ;和
    $db_mysqli=newmysqli('p:'.$host,$Username,$Pswd,$database)

    这并没有帮助,所以我尝试插入50000而不是100000(我不喜欢这样做),但仍然得到
    MySQL服务器已经消失了

    由于这是一个共享的hostgator帐户,我无法访问
    php.ini
    mysql.cnf


    有什么建议吗?

    发生的原因

    如果将查询发送到 不正确或太大。如果mysqld得到一个太大的数据包。 或者是不正常的,它假设机器出了问题 客户端并关闭连接

    可以做什么

    避免此问题的简单方法是确保 在mysqld服务器中设置的max_allowed_数据包比在 客户端和所有客户端使用相同的值 允许的最大数据包数

    你能做什么??

    由于您已经在使用主机,请请求主机支持人员解决此问题。如果他们不能,你可以减少查询大小,减少它,如果它不能解决你的问题,试着改变主机


    为体面的主机付费:如果你在MySQL中占用了大量资源,那么它就会切断你的连接(因此“MySQL已经消失了”)。你需要放慢速度,或者在那里放一些睡眠,这样MySQL就有时间处理你的请求。如果你试图一次插入一行,会发生什么?如果您试图一次插入多行,可能会遇到服务器超时。通常,一个MySQL查询可以插入的行数是有限制的,可能是100或1000(不确定)尝试将其拆分为多个插入。您是否验证过像这样的max_allowed_数据包显示“max_allowed_数据包”这样的变量;请参阅:我最终创建了一个数组,每个元素由1000行的“INSERT”组成。然后在数组中循环,对于每个元素1)打开连接,2)查询($queryInserts($i))
    ,3)关闭连接