The mysql_upgrade client is now deprecated(mysql_upgrade客戶機如今已經棄用)

  • 登陸數據庫後執行如下命令 mysql> show databases;mysql

  • 報錯 ERROR 1449 (HY000): The user specified as a definer ('mysql.infoschema'@'localhost') does not existsql

  • 在網上找到的解決辦法 mysql_upgrade -u root -p數據庫

  • 輸入後,顯示以下信息:安全

The mysql_upgrade client is now deprecated. The actions executed by the upgrade client are now done by the server.

To upgrade, please start the new MySQL binary with the older data directory. Repairing user tables is done automatically. Restart is not required after upgrade.

The upgrade process automatically starts on running a new MySQL binary with an older data directory. To avoid accidental upgrades, please use the --upgrade=NONE option with the MySQL binary. The option --upgrade=FORCE is also provided to run the server upgrade sequence on demand.

It may be possible that the server upgrade fails due to a number of reasons. In that case, the upgrade sequence will run again during the next MySQL server start. If the server upgrade fails repeatedly, the server can be started with the --upgrade=MINIMAL option to start the server without executing the upgrade sequence, thus allowing users to manually rectify the problem.

-----------------------------------------

mysql_upgrade客戶機如今已經棄用。升級客戶端如今執行的操做由服務器完成。
  
升級,請啓動新的MySQL二進制舊數據目錄。修復用戶表是自動完成的。升級後不須要重啓。
  
升級過程將自動啓動運行一個新的MySQL二進制和另一個年紀大的數據目錄。爲了不意外升級,請使用MySQL二進制——升級=沒有選項。還提供了選項,升級=力運行服務器升級需求序列。
  
有可能服務器升級失敗因爲不少緣由。在這種狀況下,升級序列將再次在接下來的MySQL服務器開始運行。若是服務器升級失敗屢次,服務器能夠啓動——升級=最小選項啓動服務器沒有執行升級順序,從而容許用戶手動糾正這個問題。

沒辦法,繼續查服務器

得知ide

  • MySQL 8.0.16開始 mysql_upgrade 升級程序已經廢棄
1、官方爲何變動升級方式?

1. 升級速度更快

2. 升級更簡單

3. 安全性更好

4. 減小升級步驟,方便自動化

5. 不須要重啓 MySQL 6. 即插即用

 
2、新舊方式升級流程對比
在 MySQL 8.0.16 以前:



1. 關閉 MySQL,替換新的二進制 MySQL

2. 啓動 MySQL,讓服務器升級 DD(數據字典)表

3. 運行 mysql_upgrade,更新系統表和用戶表

4. 加載新的幫助表

5. 重啓 MySQL

從 MySQL 8.0.16 開始:



1. 關閉 MySQL,替換新的二進制 MySQL

2. 啓動 MySQL,升級 DD(數據字典)表和系統表、用戶表和幫助表

升級的時間和操做都會大幅度縮短,操做步驟也減小了不少,更方便了用戶。

 
3、關於 MySQL 8.0.16 的新的升級方式
看看該如何使用新的升級姿式?

在 mysqld 額外添加了一個新的選項 --upgrade。可選值爲 NONE,AUTO,MINIMAL,FORCE。

姿式是這樣的:

/usr/local/mysql/bin/mysqld --upgrade=NONE

新的選項都表明什麼?

**NONE:**不嘗試進行升級

**AUTO:**默認選項,MySQL 進行數據字典升級和服務升級

**MINIMAL:**僅升級數據字典

**FORCE:**強制升級,相似舊的 mysql_upgrade –force

 

MySQL 8.0.16 新的升級方式,整體來講分爲2個步驟。

1. 升級數據字典(DD)

2. 服務器升級:升級 MySQL 系統表、升級用戶表、升級 sys 表、升級幫助更新表

可能出現的問題:

1. 升級數據字典:原子性操做。若是操做失敗,則根據目錄能夠回滾回來。

2.升級系統表、用戶表:能夠從備份還原中恢復。

我的建議,針對升級:

1. 使用新的版本,尤爲是 MySQL 8.0 系列。每一個版本都有新特性,還有bug的修復,按期小版本升級會使你的 MySQL 更加穩定。

2. 閱讀新版本的Release。 

3.最後,升級以前要作好備份,以便升級失敗回滾使用。
相關文章
相關標籤/搜索