在MySQL數(shù)據(jù)庫中如何為用戶設(shè)置密碼

字號(hào):


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