MySQL - 用户安全管理

本文详细介绍了MySQL的用户分类,包括普通用户和root用户。重点讨论了用户安全管理,包括权限表的构成如user、db、tables_priv等,以及账户管理如创建、删除用户,密码管理和权限管理。通过grant和revoke命令实现不同层级的权限控制,包括全局、数据库、表、列和子程序层级。
摘要由CSDN通过智能技术生成

一、MySQL用户的分类

普通用户:只拥有被授予的各种权限
root用户:超级管理员用户,拥有所有权限,及用户管理权限

二、用户安全管理

用户安全管理包括:权限表、账户管理、权限管理

权限表

权限表:存放在MySQL库中,MySQL服务器就是通过权限表来控制用户对数据库的访问
最重要的权限表:user表、db表,还有tables_priv表、column_priv表、procs_priv表

  • user表:存贮了服务器上各个用户的访问控制权限(服务器级别)

      45个字段,分四类:
      用户列: host+user 构成user表的联合主键
      权限列: 列名以_priv结尾的都是权限列
      安全列
      资源控制列
    

select host,user from mysql.user; – 查看用户列
select ssl_type,ssl_cipher,x509_issuer,x509_subject from mysql.user; – 查看安全列

  • db表:存贮了用户对某个数据库的操作权限(数据库级别) host+db+user 构成联合主键

      select * from mysql.db; -- 看数据
      describe mysql.db; -- 看结构
    
  • 可以通过修改db表来实现修改某个用户对于某个数据库的访问控制权限

      show VARIABLES like 'data%'; -- 数据路径
    

权限列都是带有_priv结束的

  • tables_priv表: 存贮了用户对某个数据库的某个表的操作权限(表级别)
    用户管理中只能授予服务器级别与数据库级别的访问控制权限,要授予表级别的访问控制权限,则可以通过修改tables_priv表来实现

  • column_priv表: 存贮了用户对某个数据库的某个表的某个列操作权限(列级别)
    在修改列级权限前需要先修改tables_priv表中的column_priv列,然后再在column_priv表中添加指定列的对应权限,则只有该列具有此权限。

  • procs_priv表:存贮了用户对某个数据库的存贮过程与函数的调用与修改权限

账户管理

账户管理:MySQL提供了多种方式来管理用户账户,包括登录和退出MySQL服务器,创建用户、删除用户、密码管理、权限管理

1、登录和退出MySQL服务器

使用MySQL命令:mysql.exe是mysql数据库管理系统提供的一个客户端管理工具,可以通过 show variables like ‘base%’ 查看

登录MySQL服务器的完整命令格式:
mysql -h 主机名|ip -P 端口号 -u用户名 -p密码 数据库名 -e "sql语句"

例如:
C:\Program Files>mysql -h127.0.0.1 -P3306 -uroot -p empdbx -e “select * from departments”

如果使用了-e参数,则不会登录MySQL服务器

2、创建用户 – MySQL的用户即为登录

  • (1)使用sql命令: create user

create user ‘用户名1’@‘主机名’ [IDENTIFIED by ‘密码’] ,‘用户名1’@‘主机名’ [IDENTIFIED by ‘密码’];

create user aa; -- 默认创建'aa'@%用户 	
create user 'aa'@localhost;
create user 'bb'@localhost IDENTIFIED by '123456';
  • (2)向mysql数据库中的user表插入一个新纪录(新用户),主要的关键字段:host、user
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值