"服务器已经消失了#34;迁移/升级到XAMPP后

时间:2017-01-06 22:31:44

标签: php mysql xampp mariadb

我在迁移MySQL数据库后遇到了多个错误。我实际上感动了:

  • 从桌面到新笔记本电脑
  • 从Windows 7到Windows 10
  • 从独立的Apache / MySQL / PHP到XAMPP ......
  • ...所以我也从MySQL迁移到了MariaDB。

我使用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进行一些调整 - 到目前为止,他们只是让错误显得更慢!很高兴再测试一下。

有什么建议吗?

谢谢大家,约翰。

2 个答案:

答案 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程序编辑此文件。