文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  RENAME USER 陳述式

15.7.1.7 RENAME USER 陳述式

RENAME USER old_user TO new_user
    [, old_user TO new_user] ...

RENAME USER 陳述式會重新命名現有的 MySQL 帳戶。對於不存在的舊帳戶或已存在的新帳戶,會發生錯誤。

要使用 RENAME USER,您必須擁有全域 CREATE USER 權限,或針對 mysql 系統綱要的 UPDATE 權限。當 read_only 系統變數啟用時,RENAME USER 還需要 CONNECTION_ADMIN 權限(或已棄用的 SUPER 權限)。

如果要重新命名的任何帳戶被命名為任何儲存物件的 DEFINER 屬性,RENAME USER 將會失敗並出現錯誤。(也就是說,如果重新命名帳戶會導致儲存物件變成孤立物件,則語句會失敗。)若要執行此操作,您必須具有 SET_ANY_DEFINERALLOW_NONEXISTENT_DEFINER 權限;在這種情況下,語句會成功並顯示警告,而不是失敗並出現錯誤。如需其他資訊,包括如何識別哪些物件將給定帳戶命名為 DEFINER 屬性,請參閱孤立儲存物件

每個帳戶名稱都使用第 8.2.4 節「指定帳戶名稱」中描述的格式。例如

RENAME USER 'jeffrey'@'localhost' TO 'jeff'@'127.0.0.1';

如果省略帳戶名稱的主機名稱部分,則預設值為 '%'

RENAME USER 會使舊使用者擁有的權限成為新使用者擁有的權限。但是,RENAME USER 不會自動捨棄或使舊使用者建立的資料庫或其中的物件失效。這包括 DEFINER 屬性將舊使用者命名的儲存程式或檢視。如果此類物件在定義者安全上下文中執行,則嘗試存取此類物件可能會產生錯誤。(有關安全上下文的資訊,請參閱第 27.7 節「儲存物件存取控制」。)

權限變更會如第 8.2.13 節「權限變更何時生效」中所示生效。