所以,我看到有很多关于这个问题的问题,但我找不到任何解决方案。我尝试使用PHP连接到托管服务器上的数据库,但我得到了这个: [HY000] [2006] MySQL服务器已经消失
PHP文件的代码如下所示:
<?php
$mysqli = new mysqli('database_addres', 'user', '', "database_name");
?>
我没有进行一些查询调用或类似的事情。我尝试通过PDO和mysql_connect()
进行连接,但是存在相同的错误。
connect_timeout
设置为10,wait_timeout
设置为200,innodb_buffer_pool_size
设置为536870912.所以一切似乎都可以。我错过了什么吗?
答案 0 :(得分:0)
MySQL服务器已经消失(错误2006)有两个主要原因和解决方案: 服务器超时并关闭连接。要修复,请检查my.cnf配置文件中的 wait_timeout mysql变量是否足够大。
服务器丢弃了错误或过大的数据包。如果mysqld获取的数据包太大或不正确,则会假定客户端出现问题并关闭连接。要修复,您可以增加my.cnf文件中的最大数据包大小限制 max_allowed_packet ,例如。设置 max_allowed_packet = 128M,然后重启MySQL服务器: sudo /etc/init.d/mysql restart