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

MySQL 系統表快速升級:mysql_fix_privilege_tables 腳本跨平台操作指南

     編輯:MySQL 資料庫相關知識

何時需要

MySQL 版本升級(如 5.0→5.1、5.5→5.6、5.7→8.0)時,系統表結構可能新增欄位/權限,必須執行升級腳本才能使用新功能。

Unix/Linux 平台

# 確保服務運行中
mysql_fix_privilege_tables --password=root_password
# 或
mysql_fix_privilege_tables --user=root --password=root_password

# 忽略 Duplicate column name 警告
# 完成後重啟服務
systemctl restart mysqld

Windows 平台

# 進入安裝目錄 bin
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;

路徑依實際安裝目錄調整,使用正斜線 /。

通用 SQL 腳本法(跨平台)

  1. 找到 share/mysql_fix_privilege_tables.sql(或 scripts/ 目錄)。
  2. mysql -u root -p mysql < mysql_fix_privilege_tables.sql

升級後驗證

  • SHOW COLUMNS FROM mysql.user; 確認新欄位(如 authentication_string、password_expired 等)存在。
  • SELECT User, Host, plugin FROM mysql.user; 檢查認證外掛。
  • 執行 mysql_upgrade --force(MySQL 5.5+ 內建工具,自動偵測並升級系統表、檢查表相容性)。

注意事項

  • 升級前必備份 mysql 資料庫(mysqldump -u root -p mysql > mysql_backup.sql)。
  • 生產環境安排維護窗口,升級期間服務短暫不可用。
  • 大版本跨度(如 5.5→8.0)建議分階段升級,參考官方 Release Notes 不相容變更。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved