1.创建mysql用户并授权:GRANT
语法:
GRANT
privileges (
columns)
ON
whatTO
username IDENTIFIED BY "
password"
WITH GRANT OPTION
privileges :授予用户的权限
columns :权限运用的列,可选
what :权限运用的对象,可以是数据库,表,列
username :权限授予的用户
password :密码
WITH GRANT OPTION子句是可选的。
先来创建一个用户plmm(漂亮mm),给她最大的权限,可以对所有的表做任何操作,密码是"1234",但是她只能从本地登陆:
grant all
on *.*
to plmm@localhost identified by "1234"
再来创建一个用户klmm(恐龙mm),我们只给她查看test数据库里的table1表的权限,而且只能在192.168.0.%登陆,这里的"%"是个通配符,如果要使用通配符的话一定要用引号括起来.
grant select
on test.table1
to klmm@'192.168.0.%' identified by "1234"
下面表中列出
privileges 除了上面用到的all和select还有哪些值可以选择
权限指定符 |
权限允许的操作 |
ALTER |
修改表和索引 |
CREATE |
创建数据库和表 |
DELETE |
删除表中已有的记录 |
DROP |
抛弃(删除)数据库和表 |
INDEX |
创建或抛弃索引 |
INSERT |
向表中插入新行 |
REFERENCE |
未用 |
SELECT |
检索表中的记录 |
UPDATE |
修改现存表记录 |
FILE |
读或写服务器上的文件 |
PROCESS |
查看服务器中执行的线程信息或杀死线程 |
RELOAD |
重载授权表或清空日志、主机缓存或表缓存。 |
SHUTDOWN |
关闭服务器 |
ALL |
所有;ALL PRIVILEGES同义词 |
USAGE |
特殊的“无权限”权限 |
2.撤消用户权限:revoke
上面我们创建plmm用户时给了她所有的权限,现在要撤消她更新(update)数据库的权限
revoke update ON *.* FROM plmm@localhost