2017-01-06 64 views
0

迁移我的MySQL数据库后出现多个错误。其实我已经感动:迁移/升级到XAMPP后“服务器已经消失”

  • 从桌面到一个新的笔记本电脑
  • 从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"; 

?> 

以前安装的唯一编码不同的是引进的8080由于冲突在Apache端口上 - 所有事情(包括复杂得多的查询,诚实!)在完成所有事情之前完美地工作。

我已经GOOGLE了很多(不只是这个网站),并尝试了一些调整my.ini - 到目前为止,他们只是让错误出现得更慢!很高兴测试更多,虽然。

有什么建议吗?

谢谢大家,约翰。

+0

你从'SHOW VARIABLES WHERE VALUE = 30;'中得到了什么? –

+0

8080 ??这通常是80的替代方案。MySQL的默认端口是3306. –

+0

嗨瑞克,感谢您的回应。第二个第一:我已经拿出了8080,并希望这将是一个“哦!“的时刻,一切都会工作 - 但是,我现在有一个错误,如下所示: 警告:mysqli_connect():(HY000/1045):在C中拒绝用户'xxxxx'@'localhost'(使用密码:YES) :\ xampp \ htdocs \ Test.php on line 5 连接失败:用户'xxxxx'@'localhost'访问被拒绝(使用密码:YES) 我是否做出了更好或更坏的事情?!谢谢! – user1807562

回答

0

localhost未包含在%中。添加一个类似的GRANT ... TO [email protected] ...;

+0

先生,再次感谢您的耐心 - 您已经解决了这个问题,我非常感激。非常感谢! – user1807562

0

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

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

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

解决方案2: 检查位于 C本的主机文件:\ WINDOWS \ SYSTEM32 \ drivers \ etc下 和删除文件的任何本地主机或127.0.0.1进入和保存。
您可以使用任何HostEditor程序来编辑此文件。