- 新创建的用户只有登录mysql的权限,没有其他任何权限,不能进行任何操作
- show grants for username@hostname:用来查看用户的权限
- USAGE ON *.* :表示对任何数据库中的任何表都没有权限
用户授权 (GRANT)
- 语法格式:GRANT 权限类型 [(列名1 ,...,列名n)] [权限类型1 (列名)] ON 对象 TO 用户 [ IDENTIFIED BY 密码] [ WITH GRANT OPTION]
- 语法说明如下:
- GRANT:实现对用户进行授权
- 权限类型: ALL 或 ALL PRIVILEGES:表示所有权限。
- 授予对象为数据库管理系统(*.*)时:权限类型的值可以指定为mysql中能用的所有关键字(如予用户可以创建新用户的权限:grant create user on *.* to weiking)
- 授予对象为数据库时,权限类型的值可以指定为数据库中能用的所有关键字( 如授予用户在特定数据中创建视图的权限:grant create view on WeikingDatabase.* to weiking;)
- 授予表权限时,权限类型的值可以指定为表中能用的所有关键字(如授予用户删除数据表的权限:grant drop on WeikingDatabase.customer to weiking;)
- 授予列权限时,权限类型的值可以指定为列能用的所有关键字(如授予对象查询字段的权限:grant select (c_madein,c_name) on WeikingDatabase.commodity to weiking;)
- 列名:可选项,指定给哪些列进行授权,不加表示所有的列,也可以一次给多个列指定权限类型
- 如:grant select on WeikingDatabase.commodity to weiking;
- ON:用于指定权限授予的对象
- 对象:指点授权的对象
- *:表示当前数据库中的所有表
- *.*:表示所有数据库中的所有表
- db_name.*:表示某个数据库中的所有表
- db_name.tb_name:表示某个数据库中的某个表或视图
- db_name.routine_name:表示某个数据库中的某个存储过程或函数,routine_name 指定存储过程名或函数名
- TO:指定授予权限的用户账号
- identified by 密码:在设置权限的同时更新用户的密码,如果用户不存在,mysql会自动执行一条 create user 语句来创建这个用户
- WITH GRANT OPTION:拥有给其他用户授权的权限(其他用户 权限不能超过本身的权限)
- 实例:
- 使用 GRANT 语句创建一个新的用户 username,密码为 123456,并给username用户对其他用户授权的权限
- grant all on *.* to username identified by '123456' with grant option;
删除用户权限(revoke)
- 语法格式:REVOKE 权限类型 [(列名1 ,...,列名n)] [权限类型1 (列名1 ,...,列名n)] ON 对象类型 FROM 用户1 [ …,用户2 ]
- 语法说明:
- REVOKE 语法和 GRANT 语句的语法格式相似
- REVOKE 语句用来删除用户的权限
- 实例:使用 REVOKE 语句创建一个取消username 的所有权限
- revoke all on *.* from username;
posted @
2019-12-11 15:51
WeiKing
阅读(
128)
评论()
收藏
举报