我在迁移MySQL数据库后遇到了多个错误。我实际上感动了:
我使用MYSQL_DUMP迁移数据库,并使用phpMyAdmin和MYSQL_UPGRADE引入。在phpMyAdmin中一切正常 - 所有模式,数据库,字段,数据等都完好无损 - 但是当我运行任何类型的SQL查询时,它都会失败。
我收到的错误消息:
Warning: mysqli_connect(): MySQL server has gone away in C:\xampp\htdocs\Test.php on line 5
Warning: mysqli_connect(): Error while reading greeting packet. PID=6908 in C:\xampp\htdocs\Test.php on line 5
Warning: mysqli_connect(): (HY000/2006): MySQL server has gone away in C:\xampp\htdocs\Test.php on line 5
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\Test.php on line 5
产生此错误的脚本是:
<?php
$mysqli = mysqli_connect("localhost:8080", "xxxx", "xxxx", "xxxx");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
} else
echo "worked";
?>
与之前安装的唯一编码差异是由于Apache端口上的冲突引入了8080 - 在移动所有内容之前,所有内容(包括更复杂的查询,诚实!)都运行良好。
我已经搜索了很多(不仅仅是这个网站)并尝试对my.ini进行一些调整 - 到目前为止,他们只是让错误显得更慢!很高兴再测试一下。
有什么建议吗?
谢谢大家,约翰。
答案 0 :(得分:0)
localhost
未包含在%
中。添加类似的GRANT ... TO xxxxx@localhost ...;
答案 1 :(得分:0)
如果您遇到以下错误或问题,请按照上述解决方案进行操作。
错误:强>
警告:mysqli_connect():MySQL服务器已经消失了
警告:mysqli_connect():读取问候数据包时出错。 PID = 3528
警告:mysqli_connect():( HY000 / 2006):MySQL服务器已经消失
解决方案1: 使用127.0.0.1而不是localhost。在127.0.0.1之后不要使用任何端口号。
解决方案2:
检查位于的主机文件
的 C:\ Windows \ System32下\驱动程序\等强>
并删除文件中的任何localhost或127.0.0.1条目并保存。
您可以使用任何HostEditor程序编辑此文件。