创建用户.
create user 'UserName'@'localhost'
identified by 'password';
【语句分析】
create user
创建用户.'UserName'
即将创建用户的用户名.'localhost'
指定用户在哪个主机上可以登录,本地用户使用'localhost'
;如果想让用户可以在任意主机上登录,使用通配符%
.indentified by
确认关键字,后接密码.'password'
用户用于登录的密码,如果为空,则无需密码即可登录服务器.
【样例代码】
create user 'kevin'@'localhost' identified by '123456';
//创建只能在本地登录的、名为kevin、密码为123456的用户
create user 'kevin'@'%' identified by '123456';
//创建能在任意主机登录的、名为kevin、密码为123456的用户
create user 'kevin'@'%';
create user 'kevin'@'%' identified by '';
//以上两句等价,都创建一个名为kevin、
//任意主机可登录并且无密码的用户
授予权限.
grant privileges on dbname.tablename
to 'username'@'host' identified by 'password'
[with grant option];
【语句分析】
privileges
用户的操作权限,例如select、insert、update等,具体的见文末表格;另外,如果直接授予某个用户所有的权限,可以使用关键字all.dbname
数据库名;tablename
表名,如果想要指代所有,则使用符号*
.- 第二行的关键字和创建用户中的同义.
[with grant option]
作为可选项,若附加上这一选项,则该用户可以将权限授予其它人,否则不可以.
【样例代码】
grant select on Test.TestTable to 'kevin'@'localhost'
identified by '123456';
//授予kevin能够在Test数据库中的TestTable中进行select的权限
grant all on *.* to 'kevin'@'%' with grant option;
//授予kevin在所有数据库中所有表的一切权限,
//并且kevin可以将权限授予他人,这波kevin杀疯了
收回权限.
revoke privilege on dbname.tablename
from 'username'@'host' ;
【语句分析】
- 该操作对应于上面的授予权限,从某个用户处收回关于
dbname.tablename
的权限,其中的关键字和上述同义。
【样例代码】
revoke all on *.* from 'kevin'@'%';
//收回kevin的一切权限,终结他罪恶的一生
修改密码.
set password for 'username'@'host' =
password('new_password');
【语句分析】
'username'@'host'
是即将被修改密码的用户,如果就是当前用户,则该部分可以省略,也就是说代码形式为set password = password('new_password')
.
【样例代码】
set password = password('');
//清除当前用户的密码,虽然我也不知道当前用户是哪个
set password for 'kevin'@'localhost'
= password('abcdefg');
//修改kevin的密码
删除用户.
drop user 'username'@'host';
【语句分析】
drop user
简单明了,删除用户,后接用户名以及登录主机.
【样例代码】
drop user 'kevin'@'localhost'
//kevin倒了