mysql中建立一個用戶的方法是使用create user的命令。
--建立一個沒有密碼的用戶
create user duduli;
沒有密碼可以直接進入的。
所有與用戶有關的信息都存在mysql.user的表中,其中user是用戶名,password就不用說了肯定是密碼啦。
其他的字段自己并沒有去深入研究。
這個用戶名沒有密碼怎么辦啊,任何人都可以使用,現在就得修改密碼啦。
網絡中很多修改密碼的方法。
第一:使用grant語句對其進行修改。
grant usage *.* to duduli@'%' identified by 'password';
第二:使用set password命令
set password for duduli@'%'=password('password');
還有比較簡單的方法就是直接操作user表。
update user set password('password') where name='duduli';
這里你必須use mysql這個database才行。
而改寫密碼完了之后還需要刷一些權限
使用命令
flush privileges;
還有一種方法也是對user表進行操作的
replace into user(host,user,name) values ('%','duduli',password('password'));
使用這種方法也要flush privileges才可以的。
刪除用戶的命令
drop user duduli;
------------------------------------------------------------------
繼續權限的問題,建立一個用戶并非只能使用create user命令。其實也可以使用grant命令,或是上面的直接插入用戶名密碼到mysql.user表中。
grant all on *.* to duduli@localhost identified by 'duduli';
--建立duduli用戶,密碼為duduli,在本機上登錄。權限為所有數據庫所有權限,似乎和root差不多。具體沒有測試過
grant create,delete,select on test.* to duduli@localhost identified by 'duduli'
---建立一個只有在test的數據庫中使用create,delete,select的用戶……
……
上面只是些出了幾個,還可以對用戶的表進行限定,還有行。而權限也有很多中。
具體可以找mysql的幫助文檔,搜索grant就可以了。
權限的移除
對于建立用使用了@localhost的標記移除權限的時候也要對應有這個標志。