迁移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:xampphtdocsTest.php on line 5
Warning: mysqli_connect(): Error while reading greeting packet. PID=6908 in C:xampphtdocsTest.php on line 5
Warning: mysqli_connect(): (HY000/2006): MySQL server has gone away in C:xampphtdocsTest.php on line 5
Fatal error: Maximum execution time of 30 seconds exceeded in C:xampphtdocsTest.php on line 5
产生此错误的脚本是:
<?php
$mysqli = mysqli_connect("localhost:8080", "xxxx", "xxxx", "xxxx");
if (mysqli_connect_errno()) {
printf("Connect failed: %sn", mysqli_connect_error());
exit();
} else
echo "worked";
?>
与上一次安装相比,唯一的编码差异是由于Apache端口上的冲突而引入了8080——在移动所有内容之前,所有内容(包括更复杂的查询,老实说!)都工作得很好。
我在谷歌上搜索了很多(不仅仅是这个网站),并对my.ini进行了一些调整——到目前为止,他们只是让错误出现得更慢了!很高兴能测试更多。
有什么建议吗?
谢谢大家,约翰。
localhost
未包含在%
中。添加类似的GRANT ... TO xxxxx@localhost ...;
如果出现以下错误或问题,请按照上述解决方案进行操作。
错误:警告:mysqli_connect():MySQL服务器已关闭
警告:MySQL _connect():读取问候数据包时出错。PID=3528
警告:mysqli_connect():(HY000/2006):MySQL服务器已退出
解决方案1:使用127.0.0.1而不是localhost。不要使用127.0.0.1之后的任何端口号。
解决方案2:检查位于的主机文件C:\Windows\System32\drivers\etc并删除文件中的任何localhost或127.0.0.1条目并保存
您可以使用任何HostEditor程序来编辑此文件。