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