當初次在機器上安裝完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 user_name@% identifIEd by "your passWord";
另外你也可以在shell環境下用MySQLadmin程序來設置密碼
如 MySQLadmin -u root password "your passWord"