Latest News

Home » PHP程式設計教學 » 如何修改MySQL的使用者帳號與密碼?(PHP程式設計問題與答覆)

如何修改MySQL的使用者帳號與密碼?(PHP程式設計問題與答覆)

PHP程式設計問題諮詢:
請問,如何修改MySQL的使用者帳號與密碼?

———————————————————
PHP程式設計問題回覆:
您要修改MySQL的使用者帳號與密碼,可以參考以下的說明:

首先要聲明一點,大部分情況下,修改MySQL是需要有mysql裏的root許可權的,
所以一般使用者無法變更密碼,除非請求管理員.

方法一
使用phpmyadmin,這是最簡單的了,修改mysql庫的user表,
不過別忘了使用PASSWORD函數。

方法二
使用mysqladmin,這是前面聲明的一個特例。
mysqladmin -u root -p password mypasswd
輸入這個指令後,需要輸入root的原密碼,然後root的密碼將改為mypasswd。
把指令裏的root改為你的使用者名,你就可以改你自己的密碼了。
當然如果你的mysqladmin連線不上mysql server,或是你沒有辦法執行mysqladmin,
那麼這種方法就是無效的。
而且mysqladmin無法把密碼清理。

下面的方法都在mysql提示符下使用,且必須有mysql的root許可權:
 方法三
mysql> INSERT INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
確切地說這是在增加一個使用者,使用者名為jeffrey,密碼為biscuit。
在《mysql中文參考手冊》裏有這個例子,所以我也就寫出來了。
注意要使用PASSWORD函數,然後還要使用FLUSH PRIVILEGES。

方法四
和方法三一樣,只是使用了REPLACE語句
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES

方法五
使用SET PASSWORD語句,
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');
你也必須使用PASSWORD()函數,
但是不需要使用FLUSH PRIVILEGES。

方法六
使用GRANT … IDENTIFIED BY語句
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
這裏PASSWORD()函數是不必要的,也不需要使用FLUSH PRIVILEGES。

注意: PASSWORD() [不是]以在Unix密碼加密的同樣方法施行密碼加密。

About

發佈留言