• MySQL权限


    MySQL权限如下:

    一、整体权限

    ALL/ALL Privileges权限:代表全局或者全数据库对象级别的所有权限。
    Alter权限:代表允许修改表结构的权限,但必须要求有create和insert权限配合。如果rename表明,则要求有alter和drop原表,create 和insert新表的权限。
    Alter routine权限:代表允许修改或者删除存储过程、函数的权限。
    create 权限:代表允许创建新的数据库和表的权限。
    create routine权限:代表允许创建存储过程、函数的权限。
    create tablespace权限:代表允许创建、修改、删除表空间和日志组的权限。
    create temporary tables权限:代表允许创建临时表的权限。
    create user权限:代表允许创建、修改、删除、重命名user的权限。
    create view权限:代表允许创建视图的权限。
    delete权限:代表允许删除行数据的权限。
    drop权限:代表允许删除数据库、表、视图的权限,包括truncate tabled的命令。
    event权限:代表允许查询,创建,修改,删除MySQL事件。
    execute权限:代表允许执行存储过程和函数的权限。
    file权限:代表允许在MySQL可以访问的目录进行读写磁盘文件操作,可以使用的命令包括load data infile,select … into outfile,load file()函数。
    grant option权限:代表是否允许此用户授权或者回收给其他用户你给予的权限
    index权限:代表是否允许创建和删除索引。
    insert权限:代表是否允许在表中插入数据,同时也执行analyze table,optimize table,repair table语句的时候也需要insert 权限。
    lock权限:代表允许对拥有select权限的表进行行锁定,以防其他链接对词表的读或写。
    process权限:代表允许查看mysql 中的进程信息,比如执行show processlist,mysqladmin processlist,show engine等命令。
    reference权限:是在5.7.6版本之后引入,代表是否允许创建外键。
    reload权限:代表允许执行flush命令,指明重新加载权限表到系统内存中,refresh命令代表关闭和重新打开日志文件并刷新所有表。
    replication client权限:代表允许执行show master status,show slave status,show binary logs 命令。
    replication slave 权限:代表允许slave主机通过此用户链接master以便建立主从复制关系。
    select权限:代表允许从表中查看的数据,某些不查询表数据的select执行则不需要此权限,如select 1+1,select PI() +2;而且select权限在执行update/delete语句中含where条件的情况下也是需要的。
    show databases权限:代表通过执行 show databases命令查看数据库名。
    show view权限:代表通过show create view命令查看视图创建的语句。
    shutdown 权限:代表允许关闭数据库实例,执行语句包括mysqladmin shutdown。
    super权限:代表允许执行一系列数据库管理命令,包括kill强制关闭某个链接命令,change master to 创建复制关系命令,以及create/alter/drop/ server等命令。
    trigger权限:代表允许创建、删除、执行、显示触发器权限。
    update权限:代表允许修改表中的数据权限。
    usage权限:是创建一个用户后的默认权限,其本身代表无权限。

    二、系统权限表

    系统权限表:权限存储在MySQL库的user,db,tables_priv,columns_priv,procs_priv这几个系统表中,待MySQL实例启动后就加在到内存中:

    user表:存放用户账户信息以及全局级别(所有数据库)权限,决定了来自那些主机的哪些用户可以访问数据库实例,如果全局权限则意味着对所有数据库都有此权限。

    • plugin,password,authentication_string三个字段存放用户认证信息;
    • password_expired设置成Y则表明允许DBA将此用户的密码设置成过期而且过期后要求用户的使用者重置密码(alter user/set password重置密码);
    • password_last_changed作为一个时间戳字段代表密码上次修改时间,执行create user/alter;
    • user,set password/grant 等命令创建用户或者修改用户密码时此数值自动更新;
    • password_lifetime代表从password_last_changed时间开始此密码过期的天数;
    • account_locked代表此用户被锁住,无法使用。

    db表:存放数据库级别的权限,决定了来自那些主机的那些用户可以访问此数据库。
    tabls_priv表:存放表级别权限,决定了来自那些主机的哪些用户可以访问数据库的这个表。
    columns_priv:存放列级别的权限,决定了来自哪些主机的哪些用户可以访问数据库表的这个字段。
    procs_priv:存放存储过程和函数级别的权限。

  • 相关阅读:
    【Java并发编程九】同步控制
    CentOS 定期清理日志
    【香橙派 Orange pi AIpro】| 开发板深入使用体验
    微服务整合公众号告警系统
    Excel宏(VBA)自动化标准流程代码
    2023湖南省赛-B Square game
    简易入手《SOM神经网络》的本质与原理
    SDUT—Python程序设计实验9(模块与包)
    实验9(交换综合实验)
    带你认识图数据库性能和场景测试利器LDBC SNB
  • 原文地址:https://blog.csdn.net/Leslie_qlh/article/details/127675502