簡體   English   中英

mysql_upgrade和MySQL服務-Vicious Circle

[英]mysql_upgrade and MySQL service - Vicious Circle

我正在Windows 10上將MySQL服務器5.067升級到5.5.60。

我停止了服務,將bin替換為共享目錄,然后啟動了服務。

服務啟動失敗,並顯示以下消息(在事件查看器中):

Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
For more information, see Help and Support Center at http://www.mysql.com. 

OK,所以我使用以下命令以管理員身份打開了cmd:

mysql_upgrade --port 64202

結果:

Looking for 'mysql.exe' as: C:\Program Files (x86)\XXX\MySQLServer\bin\mysql.exe
Looking for 'mysqlcheck.exe' as: C:\Program Files (x86)\XXX\MySQLServer\bin\mysqlcheck.exe
Error: Failed while fetching Server version! Could be due to unauthorized access.
FATAL ERROR: Upgrade failed

MySQL升級的設計是通過TCP連接到MySQL以運行升級,但是如果服務未運行,它如何工作? 這是一個惡性循環-MySQL服務需要升級才能啟動,而mysql_upgrade需要連接到正在運行的服務。

怎么了?

不支持跳過主要版本(5.1),並且可能會或可能不會。 適當的升級是以下之一:

計划A:先升級到5.1,然后再升級到5.5。 在每個步驟運行mysql_upgrade

計划B:使用mysqldump從5.0轉儲數據。 (請確保獲取例程等)。 吹走(或繞過)5.0並安裝新的5.5。 重新加載數據。轉儲文件中可能存在語法錯誤,請根據需要編輯文件。

由於您是從5.0升級到5.5,因此不建議使用某些配置值,從而導致引擎無法啟動。

罪魁禍首是skip-dbd ,如本網站所述

因此:找到您的MySQL配置文件,注釋掉skip-dbd選項,然后重新啟動MySQL服務。 然后,您可以使用包括身份驗證在內的適當選項運行mysql_upgrade

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM