• mysql权限管理


    权限管理

    image

    #授权表
    user #该表放行的权限,针对:所有数据,所有库下所有表,以及表下的所有字段
    db #该表放行的权限,针对:某一数据库,该数据库下的所有表,以及表下的所有字段
    tables_priv #该表放行的权限。针对:某一张表,以及该表下的所有字段
    columns_priv #该表放行的权限,针对:某一个字段
    
    #按图解释:
    user:放行db1,db2及其包含的所有
    db:放行db1,及其db1包含的所有
    tables_priv:放行db1.table1,及其该表包含的所有
    columns_prive:放行db1.table1.column1,只放行该字段
    

    代码示例

    创建用户
    create user 'egon' identified by '123';
    
    
    #授权:对文件夹,对文件,对文件某一字段的权限
    查看帮助:help grant
    
    all可以代表除了grant之外的所有权限
    
    grant all privileges on *.* to 'egon@%' identified by '123';
    
    all privileges表示所有权限,常用权限有:select,update,alter,delete,drop。
    
    *.* 表示授权给所有库
    db.table 表示授权给db中的table
    db.* 表示授权给db中的所有表
    
    localhost:允许该用户在本地登录,不能远程登录。
    192.168.1.8: 具体的IP表示只允许该用户从特定IP登录
    %:允许在除本机之外的任何一台机器远程登录。
    
    # 查看权限
    show grants for 'egon';
    
    #刷新
    flush privileges;
    
    #删除用户
    drop user 'egon'@'%';
    
    #针对所有库的授权:*.*
    grant select on *.* to 'egon1'@'localhost' identified by '123'; #只在user表中可以查到egon1用户的select权限被设置为Y
    
    #针对某一数据库:db1.*
    grant select on db1.* to 'egon2'@'%' identified by '123'; #只在db表中可以查到egon2用户的select权限被设置为Y
    
    #针对某一个表:db1.t1
    grant select on db1.t1 to 'egon3'@'%' identified by '123';  #只在tables_priv表中可以查到egon3用户的select权限
    
    #针对某一个字段:
    
    
    grant select (id,name),update (age) on db1.t3 to 'egon4'@'localhost' identified by '123'; 
    
    #删除权限
    revoke select on db1.* from 'egon'@'%';
  • 相关阅读:
    secureCRT 实现windows和linux文件互传
    Mybatis Generator最完整配置详解
    部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
    阿里云服务器实战: Linux MySql5.6数据库乱码问题
    如何将 Java 项目转换成 Maven 项目
    Windows7下Maven环境搭建及其使用
    Java HashMap工作原理及实现
    关于tomcat部署应用的三种方式
    关于浏览器缓存
    MySql使用存储过程实现事务的提交或者回滚
  • 原文地址:https://www.cnblogs.com/Jason-lin/p/8724514.html
Copyright © 2020-2023  润新知