MySQL修改root密碼方法總結

首先要聲明一點,大部分情況下,修改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。

方法七use mysql
update user set Password=password('newpassword') where User='root';
flush privileges;

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章