mysql> grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option;
all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等。 on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user to:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比如:”yangxin”@”192.168.0.%”,表示yangxin这个用户只能在192.168.0IP段登录 identified by:指定用户的登录密码 with grant option:表示允许用户将自己的权限授权给其它用户 可以使用GRANT给用户添加权限,权限会自动叠加,不会覆盖之前授予的权限,比如你先给用户添加一个SELECT权限,后来又给用户添加了一个INSERT权限,那么该用户就同时拥有了SELECT和INSERT权限。
刷新权限
对用户做了权限变更之后,一定记得重新加载一下权限,将权限信息从内存中写入数据库。
1
mysql> flush privileges;
查看用户权限
1 2
mysql> grant select,create,drop,update,alter on *.* to 'qingsong'@'%' identified by 'qingsong' with grant option; mysql> show grants for'qingsong'@'%';
回收权限
删除qingsong这个用户的create权限,该用户将不能创建数据库和表。
1 2
mysql> revoke create on *.* from 'qingsong'@'%'; mysql> flush privileges;
删除用户
1 2
mysql> select host,user from user; mysql> drop user 'qingsong'@'qingsong';
修改密码
语法:set password for ‘用户名’@’登录地址’=password(‘密码’)
1
mysql> set password for'root'@'localhost'=password('123456');