2017-01-06 62 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程序來編輯此文件。