zoukankan      html  css  js  c++  java
  • MySQL 安全体系知识要点

    1.MySQL权限系统

    MySQL权限系统通过下面两个阶段进行认证:

    (1)对连接的用户进行身份验证,合法的用户通过认证,不合法的用户拒绝连接。

    (2)对通过认证的合法用户赋予相应的权限,用户可以在这些权限范围内对数据库做出相应的操作。

    对身份的认证,My SQL是通过IP地址和用户名联合进行确认的,列入My SQL安装后默认创建的用户root@localhost表示用户root只能从本地(localhost)进行连接才可以通过认证,此用户从其他任何主机对数据库进行的连接都将被拒绝。也就是说,同样的一个用户名,如果来自不同的IP地址,则My SQL将其视为不同的用户名。

    My SQL的权限表在数据库启动是的时候就载入内存,当用户通过身份验证后,就在内存中进行相应权限的存取,这样,此用户就可以在数据库中做权限范围内的各种操作了。

    My SQL的用户信息存储在MYSQL 自带的mysql数据库的user表中。如果创建一个新的用户就叫做SQL用户,接下来就可以给这个用户设置一定的权限,这样一来就能更好地适应现实生活中的实际需求,以免出现权限分配不清。

    2. Mysql账户权限安全

    mysql中存在4个控制权限的表,分别为

    1. mysql.USER表
    2. mysql.DB表
    3. mysql.TABLES_PRIV表
    4. mysql.COLUMNS_PRIV表

    要注意的是,Mysql中有一个数据库"information_schema",里面保存的也是一些权限信息,这个数据库"information_schema"是为系统管理员提供元数据的一个简便方式,它实际上是一个视图,可以理解为对Mysql中的一个信息的封装,对于Mysql主程序来说,身份认证和授权的信息的来源只有一个,就是"mysql"。

    在我们进行数据库连接、登录的时候,mysql权限表的验证过程为:

    (1)先从user表中的:

        1) Host
        2) User
        3) Password
    这3个字段中判断连接的ip、用户名、密码是否存在,存在则通过验证。
    (2) 通过身份认证后,进行权限分配,按照: 1) user 2) db 3) tables_priv 4) columns_priv 的顺序进行验证。

  • 相关阅读:
    7.20 高博教育 方法
    7.20 高博教育 随机数字(练习)
    7.17 高博教育 流程控制02
    7月17号 高博教育 复习加逻辑运算符
    7月16号 高博教育 知识扩展
    7月16号 高博教育 知识点总结
    7月16号 高博教育 数据运算符和比较运算符
    链式线性表——课上练
    顺序线性表——课上练
    链栈——课上练
  • 原文地址:https://www.cnblogs.com/215cwzx/p/8053147.html
Copyright © 2011-2022 走看看