13.5.1.5.SETPASSWORD語法
13.5.1.5. SET
PASSWORD語法
SET PASSWORD = PASSWORD('some password')
SET PASSWORD FOR user = PASSWORD('some password')
SET PASSWORD語句用于向一個原有MySQL用戶 賬戶賦予一個密碼。
第一個語法為當前用戶設置密碼。已使用一個非匿名賬戶連接到服務器上的任何客戶即都可以更改該賬戶的密碼。
第二個語法為當前服務器主機上的一個特定賬戶設置密碼。只有擁有mysql數據庫UPDATE權限的客戶端可以這么做。user值應以user_name@host_name的格式被給定,此處user_name和host_name與mysql.user表登錄項的User和Host列中列出的完全一樣。舉例說明,如果您有一個登錄項,User和Host列值為'bob'和'%.loc.gov',您應該按如下方法寫語句:
mysql> SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass');
這相當于以下語句:
mysql> UPDATE mysql.user SET Password=PASSWORD('newpass')
-> WHERE User='bob' AND Host='%.loc.gov';
mysql> FLUSH PRIVILEGES;
注釋:如果您正在使用一個4.1以前的客戶端連接到一個MySQL 4.1或MySQL 4.1以后的服務器,則在閱讀5.7.9節,“MySQL 4.1中的密碼哈希處理”之前,不能使用前面的SET PASSWORD或UPDATE語句。 密碼格式在MySQL 4.1中變更了,并且在特定情況下,如果您更改密碼,您可能無法在連接到服務器上。
您可以通過執行SELECT CURRENT_USER()觀看您當前的鑒定user@host登錄項。