當你初次在機器上安裝完MySQL時,你可以匿名進行訪問數據庫或者以不帶口令的root身份進入數據庫。假如你是一個管理員, 你還要進行一些用戶的建立及授權,這又涉及到設置密碼的問題.下面我們就討論一下如何設置密碼:
首先我們應該知道Mysql數據庫中的口令存儲必須用password()函數加密它.因為在user表中是以加密形式存儲口令,而不是作為純文本.如果你沒有加密,直接在數據庫中執行以下語句:
use mysql insert into user (host,user,password) values ('%','user_name','your password'); flush privileges;
相信結果不會讓你滿意.因為服務器比較的是加密的值,所以服務器連接一定失敗.這裡需要說明的是flush privileges;這條
命令起到了重新加載授權表.你也可以在shell下直接用mysqladmin -u root reload或者mysqladmin -u root flush-privileges來
實現重載授權表.
在MySQL環境下,你可以使用以下語句進行設置密碼:
1.insert into user(host,user,password) values('%','user_name',password("your password"); 2.set password for user_name = password("your password")
以上兩種方法都必須進行重載授權表.
3.當然你也可以在創建一個用戶時直接設置密碼,grant語句將為你自動加密口令.
示例:
grant all on *.* to mailto:user_name@ identified by "your password";
另外大家也可以在shell環境下用mysqladmin程序來設置密碼。
示例:
mysqladmin -u root password "your password"