• mysql用户权限管理


    1.mysql用户的作用

      1)登录mysql数据库

      2)管理数据库对象

    2.mysql用户管理

      1)创建用户: #create  user

      2)   删除用户:#delete   user         #drop   user

      3)修改用户: #update

    3.用户的定义:

      1)username@‘主机域’

      2)  主机域:可以理解为mysql登录的白名单

      3)  主机域格式: ‘10.0.0.51’   ‘10.0.0.5%’    ‘10.0.0.%’   ‘10.0.%.%’   '10.%.%.%'  '%'    ‘db01’    ‘10.0.0.51/255.255.255.0’

    4.用户管理实战

      1)设定初始密码

    [root@db02 mysql-5.7.20]# mysqladmin -uroot -p password ‘123’

      2)修改密码

      3)使用密码登录

     [root@db02 mysql-5.7.20]# mysql -uroot -p123

      4)当清理无用用户时:

    #关闭数据库

    [root@db02 mysql-5.7.20]# /etc/init.d/mysqld stop

    #启动数据库

    [root@db02 mysql-5.7.20]# mysqld_safe --skip-grant-tables --skip-networking

    #使用mysql库

     mysql> use mysql

    #创建root用户

    mysql>  GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY '123' WITH GRANT OPTION;

    #忘记root密码

    [root@db02 mysql-5.7.20]# /etc/init.d/mysqld stop

    #启动数据库

    [root@db02 mysql-5.7.20]# mysqld_safe --skip-grant-tables --skip-networking

    #修改root用户密码

    mysql> update user set password=PASSWORD('123') where user='root' and host='localhost';

    2.用户管理机权限管理

    #创建用户

    mysql> create user oldboy@'10.0.0.%' identified by '123';

    #查看用户

    mysql> select user,host from mysql.user;

    #删除用户

    mysql> drop user oldboy@‘10.0.0.%’;

    #修改密码

    mysql> update user set password=PASSWORD('oldboy123') where user='root' and host='localhost'; mysql> grant all privileges on *.* to oldboy@’10.0.0.%’ identified by ‘123’;

    #用户权限介绍

    mysql的权限定义

    作用对象:库、表

    权限

    INSERT,SELECT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, 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

    归属     每次设定只能有一个属主或其他用户的概念

    grant        all       privileges         on        *.*        to      oldboy@’10.0.0.%’           identified        by ‘123’;

                                  权限                     作用对象                    归属                                 密码

    作用对象分解

    *.* [当前MySQL实例中所有库下的所有表]
    wordpress.* [当前MySQL实例中wordpress库中所有表(单库级别)]
    wordpress.user [当前MySQL实例中wordpress库中的user表(单表级别)]

    1、grant select on *.* to wordpress@’10.0.0.5%’ identified by ‘123’;

    2、grant insert,delete,update on wordpress.* to wordpress@’10.0.0.5%’ identified by ‘123’;

    3、grant all on wordpress.t1 to wordpress@’10.0.0.5%’ identified by ‘123’;

    问:
    一个客户端程序使用wordpress用户登陆到10.0.0.51的MySQL后,

    1、对t1表的管理能力?

    2、对t2表的管理能力?

    3、对tb1表的管理能力?

    解:

    1、同时满足1,2,3,最终权限是1+2+3

    2、同时满足了1和2两个授权,最终权限是1+2

    3、只满足1授权,所以只能select

    结论:

    1、如果在不同级别都包含某个表的管理能力时,权限是相加关系。

    2、但是我们不推荐在多级别定义重复权限。

    3、最常用的权限设定方式是单库级别授权,即:wordpress.*

  • 相关阅读:
    工作感悟(一)
    laydate组件选择时间段的判断
    Win10下免安装版JDK8环境变量配置
    IDEA中lombok插件的安装
    解决加载WEB页面时,由于JS文件引用过多影响页面打开速度的问题
    Windows环境下的MYSQL5.7配置文件定位
    MYSQL使用source命令,导入SQL文件
    MYSQL5.7生成列简介及创建
    MYSQL慢查询优化方法及优化原则
    批量提取文件夹下所有目录及文件名称
  • 原文地址:https://www.cnblogs.com/fangdecheng/p/10023099.html
Copyright © 2020-2023  润新知