我是靠谱客的博主 寒冷大船,最近开发中收集的这篇文章主要介绍MySQL权限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:存放存储过程和函数级别的权限。

最后

以上就是寒冷大船为你收集整理的MySQL权限MySQL权限如下:的全部内容,希望文章能够帮你解决MySQL权限MySQL权限如下:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部