一、root使用者密碼的維護:
由於安裝MySQL完後,MySQL會自動提供一個不帶密碼的root使用者,為了安全起見給root設定密碼:
#mysqladmin -u root password 123 (123為密碼,也可以寫成:'123'或"123") ;
設定密碼後登入時就不能直接輸入mysql了,必須跟些參數了,如下:
[root@localhost ~]# mysql -u root -p (-u 後跟登入的使用者名稱,-p 提示要密碼登入)
Enter password:(輸入密碼)
修改密碼:
[root@localhost ~] #mysqladmin -u root -p password 123456 (password 後跟的是要更新的新密碼)
Enter password:(輸入原始密碼,斷行符號即可)
二、其他使用者的增加和刪除:
以root使用者登入,在mysql中有一張mysql.user表是儲存MySQL中所有使用者的資訊表,所以可以直接增加刪除這個表的記錄就可增加和刪除使用者;
1.添加使用者(有兩種形式):
A.mysql> grant all on *.* to yushan@"%" identified by "123" ;
mysql>flush privileges; (重新整理系統許可權表)
(執行完會在mysql.user表插入一條記錄,all表示所有許可權(包括增 刪 改 查等許可權), *.* 表示所有資料庫,yushan為添加的使用者名稱,123為密碼,%為匹配的所有主機,上面的資訊都可以指定如grant select,update on db.* to yushan@localhost identified by '123";)
B.直接對mysql.user添加一條記錄
mysql> insert into mysql.user(Host,User,Password) values("localhost","yusuhan",password("123"));
mysql>flush privileges;
這樣就建立了一個名為:yushan 密碼為:123 (密碼是經過加密的 ) 的使用者,不過這樣沒有許可權因為只添加了三個欄位,也可通過grant添 加許可權:
mysql>grant all on *.* to yushan@localhost identified by '123";
mysql>flush privileges;(重新整理系統許可權表)
(這種好像有點囉嗦了。直接用grant不久得了)
添加完使用者 如果要遠程登入MySQL,必須跟上主機Ip 如下:
[root@localhost ~]# mysql -u yushan -p -h 192.168.59.123
Enter password:(輸入密碼)
2.刪除使用者 :
mysql>delete from mysql.user where user ='yushan' ;
mysql>flush privileges; (重新整理系統許可權表)
其他使用者的密碼修改與root的一樣,在這裡無論是添加或是刪除操作後必須來個flush privileges;這樣才能起作用特別是刪除使用者後,如果未執行,被刪除的使用者還可登入,以上都是在MySQL root使用者下操作,為了MySQL的安全,應該給使用者指定相應的許可權
ps:相關串連
http://www.phplamp.org/2008/06/mysql-add-user/
http://www.oklinux.cn/html/sql/other/20080516/54375.html
http://wenson.iteye.com/blog/39066
http://article.3326.com/idc/Linux/MYSQL/0Q625C52008.html