首先要聲明一點,大部分情況下,修改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(iscuit)); MySQL> FLUSH PRIVILEGES
確切地說這是在增加一個用戶,用戶名為jeffrey,密碼為biscuit。在《MySQL中文參考手冊》裡有這個例子,所以我也就寫出來了。 注意要使用PASSWord函數,然後還要使用FLUSH PRIVILEGES。
方法四
和方法三一樣,只是使用了REPLACE語句
mysql> REPLACE INTO mysql.user (Host,User,Password) VALUES(\%,jeffrey,PASSWord(iscuit)); MySQL> FLUSH PRIVILEGES
方法五
使用SET PASSWord語句,
MySQL> SET PASSWORD FOR jeffrey@"%" = PASSWord(iscuit);
你也必須使用PASSWord()函數,
但是不需要使用FLUSH PRIVILEGES。
方法六
使用GRANT ... IDENTIFIED BY語句
MySQL> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY iscuit;
這裡PASSWord()函數是不必要的,也不需要使用FLUSH PRIVILEGES。
注意: PASSWord() [不是]以在Unix口令加密的同樣方法施行口令加密。