mysql——用户授权

格式:
查询权限:

show grants for  '用户'@'IP地址' 

授权:

grant 权限   on  数据库,   to   '用户'@'IP地址' 

取消权限

grant 权限   on  数据库,   from   '用户'@'IP地址' 

权限大全
MySQL权限详解(1)

All/All Privileges权限代表全局或者全数据库对象级别的所有权限
Alter权限代表允许修改表结构的权限,但必须要求有create和insert权 限配合。如果是rename表名,则要求有alter和drop原表,create和 insert新表的权限
Alter routine权限代表允许修改或者删除存储过程、函数的权限
Create权限代表允许创建新的数据库和表的权限
Createroutine权限代表允许创建存储过程、函数的权限
Createtablespace权限代表允许创建、修改、删除表空间和日志组的权 
Create temporary tables权限代表允许创建临时表的权限
Createuser权限代表允许创建、修改、删除、重命名user的权限
Createview权限代表允许创建视图的权限

MySQL权限详解(2)

 Delete权限代表允许删除行数据的权限
 Drop权限代表允许删除数据库、表、视图的权限,包括truncatetable命令
 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权限的表进行锁定,以防止其他链接对此表 的读或写

MySQL权限详解(3)

 Process权限代表允许查看MySQL中的进程信息,比如执行showprocesslist,
 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条件的情况下也是需要的
 Showdatabases权限代表通过执行showdatabases命令查看所有的数据库名
 Show view权限代表通过执行show create view命令查看视图创建的语句mysqladmin processlist, show engine等命令

MySQL权限详解(4)

 Shutdown权限代表允许关闭数据库实例,执行语句包括mysqladmin shutdown
 Super权限代表允许执行一系列数据库管理命令,包括kill强制关闭某个连接 命令,change master to创建复制关系命令,以及create/alter/drop server等命 
 Trigger权限代表允许创建,删除,执行,显示触发器的权限
 Update权限代表允许修改表中的数据的权限
 Usage权限是创建一个用户之后的默认权限,其本身代表连接登录权限

系统权限表
 权限存储在mysql库的user,db, tables_priv, columns_priv, and procs_priv这几个系统表中,待MySQL实例启动后就加载到内存中
 User表:存放用户账户信息以及全局级别(所有数据库)权限,决定了 来自哪些主机的哪些用户可以访问数据库实例,如果有全局权限则意味
着对所有数据库都有此权限
 Db表:存放数据库级别的权限,决定了来自哪些主机的哪些用户可以访 问此数据库
 Tables_priv表:存放表级别的权限,决定了来自哪些主机的哪些用户可以 访问数据库的这个表
 Columns_priv表:存放列级别的权限,决定了来自哪些主机的哪些用户可 以访问数据库表的这个字段
 Procs_priv表:存放存储过程和函数级别的权限
 User和db权限表结构
 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代表此用户被锁住,无法使用
 Tables_priv和columns_priv权限表结构
 Timestamp和grantor两个字段暂时没用
 Tables_priv和columns_priv权限值
 procs_priv权限表结构
 Routine_type是枚举类型,代表是存储过程还是函数
 Timestamp和grantor两个字段暂时没用
 系统权限表字段长度限制表
 权限认证中的大小写敏感问题
 字段user,password,authencation_string,db,table_name大小写敏感
 字段host,column_name,routine_name大小写不敏感
 User用户大小写敏感

一、给DengMeng用户对db1库具有超级管理员授权(全部权限)
1、创建数据库db1

create database db1 default charset utf8;

2、DengMeng授权

grant all Privileges on db1.* to 'DengMeng'@'%';

在这里插入图片描述
二、登录DengMeng用户测试访问

mysql -uDengMeng   -proot123.   db1

在这里插入图片描述

具体授权看需求

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章