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 的顺序进行验证。

  • 相关阅读:
    CentOS LiveCD、LiveDVD、BinDVD、netinstall、minimal版区别在哪里
    安装oracle执行runInstaller文件时报错:“……/install/.oui:Permission denied”
    centos7修改系统语言为简体中文
    Centos 7 安装图形化界面
    Centos7中一次性安装开发者工具
    IE 11 浏览器兼容性视图设置
    [bzoj1775][Usaco2009 Dec]Vidgame 电视游戏问题_背包dp
    Codeforces Round #581(Div. 2)

    [Nowcoder113E]弹球弹弹弹_线段树
  • 原文地址:https://www.cnblogs.com/215cwzx/p/8053147.html
Copyright © 2011-2022 走看看