(轉)mysql修改用戶名密碼

1.直接在數據庫中修改記錄
mysql> use mysql
mysql> update user set password = password(”new_password”) where user = “user_name”;1.直接在數據庫中修改記錄
mysql> use mysql
mysql> update user set password = password(”new_password”) where user = “user_name”;
mysql> flush privileges;
其實這種方法就是更新一條數據庫記錄,與普通update語句不同的是,密碼加密存儲,需用password()函數來生成,另一個不同點是需要刷新權限表。
[b](一定要刷新權限表,否則不生效)[/b]
2.在數據庫中運行set password
mysql> set password for user_name = password(”new_password”);
mysql> flush privileges;
同第一種方法,也要刷新權限表

3.直接在shell環境運行mysqladmin
> mysqladmin -u user_name -p password “new_password”
> mysqladmin flush-privileges
這個方法我試了幾次,每次都能將密碼記錄修改掉,但是每次修改後都無法登錄,即使重啓數據庫也無濟於事。所以建議不要採用本方法修改用戶密碼,尤其是root密碼。

4.
grant all privileges on db.table to user_name@localhost identified by “your_pwd”;
用戶名密碼的生效不必用flush privileges刷新
注:
db.table: db表示授權哪個庫,table是相應庫裏的表。可以用*.*表示所有庫所有表。注意,如果想表示某個庫的所有表,必須用db_name.*,後面的”.*”不可省略,否則權限將無法賦予。
user_name@localhost: user_name表示用戶名,localhost表示該用戶只能在本地訪問該庫,可以用%表示從任何地方訪問該庫,也可以用111.11.22.33來表示地址
your_pwd: 給用戶設置的密碼
mysql> flush privileges;
其實這種方法就是更新一條數據庫記錄,與普通update語句不同的是,密碼加密存儲,需用password()函數來生成,另一個不同點是需要刷新權限表。
(上面這個好用,不過要)
2.在數據庫中運行set password
mysql> set password for user_name = password(”new_password”);
mysql> flush privileges;
同第一種方法,也要刷新權限表

3.直接在shell環境運行mysqladmin
> mysqladmin -u user_name -p password “new_password”
> mysqladmin flush-privileges
這個方法我試了幾次,每次都能將密碼記錄修改掉,但是每次修改後都無法登錄,即使重啓數據庫也無濟於事。所以建議不要採用本方法修改用戶密碼,尤其是root密碼。

4.
grant all privileges on db.table to user_name@localhost identified by “your_pwd”;
用戶名密碼的生效不必用flush privileges刷新
注:
db.table: db表示授權哪個庫,table是相應庫裏的表。可以用*.*表示所有庫所有表。注意,如果想表示某個庫的所有表,必須用db_name.*,後面的”.*”不可省略,否則權限將無法賦予。
user_name@localhost: user_name表示用戶名,localhost表示該用戶只能在本地訪問該庫,可以用%表示從任何地方訪問該庫,也可以用111.11.22.33來表示地址
your_pwd: 給用戶設置的密碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章