萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 升級後必做:mysql_fix_privilege_tables 升級系統表完整操作指南

為什麼要升級系統表?

MySQL 版本升級可能引入新權限列、新特性(如事件調度器、插件架構),舊版 mysql 系統表結構不匹配會導致權限異常、新功能不可用。**升級前必須備份 mysql 庫**。

Linux/Unix 環境:使用 mysql_fix_privilege_tables 腳本


# 服務必須運行中
mysql_fix_privilege_tables

# 若 root 有密碼
mysql_fix_privilege_tables --password=root_password

腳本會自動執行所有必要的 ALTER TABLE、INSERT 等 DDL/DML,將系統表結構遷移至當前版本標準。運行過程中出現 Duplicate column name 警告屬正常,**可忽略**。

完成後:**重啟 MySQL 服務** 使變更生效。

Windows 環境:執行 SQL 腳本文件

MySQL Windows 發布包含 mysql_fix_privilege_tables.sql,使用 mysql 客戶端執行:


C:\> "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" -u root -p mysql
mysql> SOURCE C:/Program Files/MySQL/MySQL Server 5.1/scripts/mysql_fix_privilege_tables.sql;

根據實際安裝路徑調整路徑。輸入 root 密碼後執行,同樣忽略 Duplicate column name 警告,最後重啟服務。

驗證升級成功

  1. 檢查錯誤日誌無報錯。
  2. SHOW GRANTS FOR 'root'@'localhost'; 權限顯示正常。
  3. 新特性可用性測試(如 CREATE EVENT、INSTALL PLUGIN)。

最佳實踐

  • 升級前完整備份 mysql 库(mysqldump --routines --events mysql > mysql_pre_upgrade.sql)。
  • 閱讀發布說明(Release Notes)確認權限表結構變更詳情。
  • 測試環境先行驗證,制定回滾預案。
  • 生產環境選擇低峰期操作,通知相關方。
copyright © 萬盛學電腦網 all rights reserved