首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL系統表升級指南:mysql_fix_privilege_tables完整操作流程

     編輯:MySQL 資料庫相關知識

為何需要升級系統表?

MySQL版本升級時,mysql系統資料庫中的授權表結構可能變更(新增權限欄位、特性支援)。若不同步升級系統表,將導致權限系統異常、新功能無法使用。升級前務必完整備份mysql資料庫。

Unix/Linux環境升級流程

# 確保MySQL服務正在運行
# 基本執行(root帳號無密碼)
mysql_fix_privilege_tables

# root帳號有密碼時
mysql_fix_privilege_tables --password=root_password

# 執行過程中可能出現 "Duplicate column name" 警告,可忽略
# 完成後必須重啟MySQL服務
service mysql restart

Windows環境升級流程

Windows版MySQL不包含mysql_fix_privilege_tables執行檔,改用SQL腳本:

# 假設MySQL安裝於 C:\Program Files\MySQL\MySQL Server 5.1
cd "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警告
# 完成後重啟MySQL服務
net stop mysql
net start mysql

若安裝路徑不同,請調整SOURCE路徑至對應scripts目錄下的mysql_fix_privilege_tables.sql。

升級後驗證檢查清單

  1. 登入MySQL執行SHOW GRANTS FOR 'root'@'localhost';確認權限正常
  2. 測試建立新使用者、授權、撤銷權限操作
  3. 檢查mysql.user表是否包含新版本權限欄位(如Create_routine_priv、Alter_routine_priv等)
  4. 確認應用程式連線與查詢運作正常

常見問題排查

  • 腳本找不到:確認scripts目錄存在,或從MySQL原始碼套件獲取
  • 連線失敗:檢查服務是否運行、Socket/TCP連線配置、root密碼正確性
  • 權限不足:需使用具SUPER權限或root帳號執行
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved