欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql-用户权限管理

程序员文章站 2023-11-15 18:53:40
[TOC] 用户管理 主要为了控制权限,让不同开发者,仅能操作属于自己的业务范围内的数据 创建mysql账号 账户中涉及三个数据: 账户名: 用户名 密码 ip地址: 如果是本机,可以不写,@+主机地址 端口号: 默认为3306,可以不写 权限管理(建号常用) 涉及到的表(几种授权情况) ......

目录

用户管理

主要为了控制权限,让不同开发者,仅能操作属于自己的业务范围内的数据

创建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 "密码";