[英]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.