一些MySQL發布對mysql資料庫中的系統資料表的結構進行了更改,添加了新許可權或特性。當你更新到新版 本MySQL,你應同時更新系統資料表,以確保它們的結構最新。首先備份mysql資料庫,然後按照下面的程式操 作。
在Unix或Unix類系統中,運行mysql_fix_privilege_tables指令碼來更新系統資料表:
shell> mysql_fix_privilege_tables
你必須在伺服器運行時執行該指令碼。它試圖串連本機上用root啟動並執行伺服器。如果root賬戶要求輸入密碼 ,在命令列中按下述方法給出密碼:
shell> mysql_fix_privilege_tables--password=root_password
mysql_fix_privilege_tables指令碼可以執行將系統資料表轉換為當前格式的任何動作。運行時你可能會看 見一些Duplicate column name警告;你可以忽略它們。
運行完指令碼後,停止伺服器並重啟。
在Windows系統中,MySQL分發包括mysql_fix_privilege_tables.sql SQL指令碼,你可以用mysql用戶端 來運行。例如,如果MySQL安裝到C:\Program Files\MySQL\MySQL Server 5.1,命令應為:
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
如果安裝到其它目錄,相應地更改路徑名。
mysql命令將提示輸入root密碼;按照提示輸入密碼。
在Unix中,當mysql處理mysql_fix_privilege_tables.sql script指令碼中的語句時,你可能會看見一 些Duplicate column name警告;你可以忽略它們。
運行完指令碼後,停止伺服器並重啟。