mysql-用户权限管理

mysql-用户权限管理
目录

用户管理
创建mysql账号
权限管理(建号常用)
用户管理
主要为了控制权限,让不同开发者,仅能操作属于自己的业务范围内的数据

创建mysql账号
账户中涉及三个数据:

账户名: 用户名
密码
ip地址: 如果是本机,可以不写,@+主机地址
端口号: 默认为3306,可以不写
create user 用户名@主机地址 identified by "密码";

操作用户,只能由root账号进行

这种操作不常用,因为账户没有任何权限,无法做操作

删除 将同时删除所有权限

drop user 用户名@主机地址;
权限管理(建号常用)
涉及到的表(几种授权情况)

all 表示 增删改查所有权限 ,可以给单个权限 如select/update/drop

. 第一个表示所有库,.表示所有表

开启权限

1 user 用户相关信息权限,即给所有权限, 可以在user表中查看到权限信息

grant all on . to 用户名@主机地址 identified by "密码";

2 db 用户的数据库权限, 即只能对指定数据库进行增删改查, 可以在db表中查看权限信息

grant all on 库名.* to 用户名@主机地址 identified by "密码";

3 tables_priv 用户的表权限

grant all on 库名.表名 to 用户名@主机地址 identified by "密码";

4 columns_priv 用户的字段权限

grant select(字段名),update(字段名) on 库名.表名 to 用户名@主机地址 identified by "密码";

收回权限

revoke all on . from 用户名@主机地址;

revoke all on 库名.表名 from 用户名@主机地址;

刷新权限

flush privileges;

我们给的权限都是增删改查的权限,并没有给创建用户的权限

使用 with grant option 表示可以将他拥有的权限授予其他的用户

grant all on . to 用户名@主机地址 identified by "密码" with grant option;

授予某个用户,可以在任何主机上登陆

grant all on . to 用户名@"%" identified by "密码";
grant all on . to 用户名@localhost identified by "密码";
原文地址https://www.cnblogs.com/raynduan/p/11444603.html

上一篇:influxdb用户权限篇


下一篇:Python学习笔记五(Python urllib模块)