"Server has gone away" 迁移/升级到 XAMPP 后

"Server has gone away" after migration / upgrade to XAMPP

迁移 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 - 到目前为止,他们只是让错误出现的速度变慢了!不过很高兴测试更多。

有什么建议吗?

谢谢大家,约翰。

localhost 未包含在 % 中。添加一个类似的GRANT ... TO xxxxx@localhost ...;

如果您遇到以下错误或问题,请按照上述解决方案进行操作。

错误: 警告:mysqli_connect():MySQL 服务器已消失
警告:mysqli_connect():读取问候包时出错。 PID=3528
警告:mysqli_connect(): (HY000/2006): MySQL 服务器已经消失

解决方案一: 使用 127.0.0.1 而不是本地主机。不要使用 127.0.0.1 之后的任何端口号。

方案二: 检查位于的主机文件 C:\Windows\System32\drivers\etc 并删除文件中的任何本地主机或 127.0.0.1 条目并保存。
您可以使用任何 HostEditor 程序编辑此文件。