网络安全 Day22-mariadb数据库用户管理

数据库用户管理

  • [1. mariadb数据库用户管理](#1. mariadb数据库用户管理)
  • [2. mariadb数据库用户授权](#2. mariadb数据库用户授权)
  • [3. 用户回收授权](#3. 用户回收授权)
  • [4. 使客户端连接数据库](#4. 使客户端连接数据库)

1. mariadb数据库用户管理

  1. 用户的格式: 用户@主机范围 合起来才算一个用户
  2. 授权主机范围
    1. 只能从本机访问: localhost或127.0.0.1或10.0.0.166(指定IP)
    2. 授权整个网段:
      1. 授权10.0.0.1--10.0.0.254: 10.0.0.0/24或10.0.0.%
      2. 授权192.168.0.1---192.168.254.254: 192.168.%
      3. 严令禁止直接使用%
  3. 用户增删改查
    1. 创建用户
      1. 语法: create user blog@'10.0.0.%' identified by 'oldboy123';;
      2. 查看数据库中的所有用户: select user,host from mysql.user;
      3. 登录用户: mysql -ublog -poldboy123 -hlocalhost -P3306 -S /var/lib/mysql/mysql.sock
        1. 正常来讲-h -S是可以省略,但是用户的主机范围是localhost就不用写因为-h默认值就是localhost
    2. 删除用户: drop user 'user'@'主机域';
    3. 修改用户的名字: rename user'过去的名字@过去的主机域' to '新的名字@新的主机域';+flush privileges;
    4. 查看当前用户: select user();
    5. 查询有哪些用户: select user,host from mysql.user;

2. mariadb数据库用户授权

  1. 创建用户并授权

    1. 语法一: create user用户@主机域 identified by '密码';+grant 权限 on 库.表 to 用户@主机域
    2. 语法二: grant 权限 on 库.表 to 用户@主机域 identified by'密码';
  2. 授权blog@'10.0.0.%'用可以访问所有权限

    1. 授权: grant all on *.* to blog@10.0.0.%;
    2. 检查: show grants for blog@'10.0.0.%';
  3. 有哪些权限可以授权

    sql 复制代码
    MariaDB [(none)]> show privileges;
    
    all privileges(all)包含下面所有(唯独缺一个权限(Grant option),不能创建用户):
    权限	说明
    
    授权网站用户最应该的授权,网民上网使用。了解前8个
    
    SELECT	查询(数据)
    INSERT	插入(数据)
    UPDATE	修改(数据)
    DELETE  删除(数据)
    ================DBA管理员的权限===========
    CREATE	创建(数据库、表等对象)
    DROP	删除(数据库、表等对象)
    INDEX	索引
    ALTER	修改(数据库、表等对象)
    ==========================================
    RELOAD	重载
    SHUTDOWN	关闭
    PROCESS	进程
    FILE	文件
    REFERENCES	参考资料
    SHOW DATABASES	查看数据库
    SUPER	超级权限
    CREATE TEMPORARY TABLES	创建临时表
    LOCK TABLES	锁表
    EXECUTE	执行
    REPLICATION SLAVE	从复制权限
    REPLICATION CLIENT	从客户端复制
    CREATE VIEW	创建视图
    SHOW VIEW	查看视图
    CREATE ROUTINE	创建存储过程
    ALTER ROUTINE	修改存储过程
    CREATE USER	创建用户
    EVENT	事件
    TRIGGER 	触发器
    CREATE TABLESPACE	创建表空间
  4. 企业产生如何授权

    1. 普通用户

      sql 复制代码
      SELECT	查询(数据) 浏览文章
      INSERT	插入(数据) 发表文章
      UPDATE	修改(数据) 修改文章
      DELETE	删除(数据) 删除文章
    2. 管理员用户

      sql 复制代码
      CREATE	创建(数据库、表等对象)
      DROP	删除(数据库、表等对象)
      INDEX	索引
      ALTER	修改(数据库、表等对象)
  5. 授权一个和管理员root等价的权限

    1. 创建并授权:grant all on *.* to oldboy@'localhost' identified by 'oldboy123' with grant option
    2. 刷新: flush privileges

3. 用户回收授权

  1. 语法: revoke insert on *.* from '用户名'@'主机域';
  2. 例子: revoke insert ON *.* from 'littleboy'@'localhost';

4. 使客户端连接数据库

  1. 使客户端连接需要关闭防火墙
    1. systemctl stop firewalld
    2. systemctl enable firewalld
  2. 安装sqlyog工具
  3. 连接就好了
相关推荐
这个DBA有点耶4 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G4 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备4 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远4 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
2601_962218614 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
张洛闻Eren4 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安4 天前
MySQL-触发器
数据库·mysql
白远山4 天前
上海24小时自助健身房解决方案实战指南与经验分享
java·数据库·架构·需求分析
Omics Pro4 天前
斯坦福Nature+Science|广义虚拟细胞基础大模型
数据库·人工智能·算法·机器学习·自然语言处理
2603_965148114 天前
AI+API选品:下一代智能商务助手雏形已现
java·大数据·数据库·人工智能·数据挖掘