码迷,mamicode.com
首页 > 数据库 > 详细

MYSQL-授权

时间:2019-05-09 00:35:29      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:所有权   sel   过程   mys   pass   文件   super   process   centos   

权限类别:
管理类
程序类
数据库级别
表级别
字段级别

管理类:

CREATE TEMPORARY TABLES 创建临时表
CREATE USER         创建用户
FILE            文件
SUPER 
SHOW DATABASES      显示数据库
RELOAD          重新加载
SHUTDOWN        关闭
REPLICATION SLAVE       主从复制
REPLICATION CLIENT      复制客户端
LOCK TABLES         表加锁
PROCESS         存储过程

程序类:

FUNCTION        函数
PROCEDURE       程序
TRIGGER         触发器
CREATE          创建
ALTER           修改
DROP            删除
EXCUTE          执行

库和表级别:

        DATABASE        数据库
        TABLE           表
        ALTER           修改
        CREATE          创建
        CREATE VIEW     创建视图
        DROP            删除
        INDEX           索引
        SHOW VIEW       视图显示
        GRANT OPTION:       能将自己获得的权限转赠给其他用户

数据操作

    SELECT  查询
    INSERT  插入
    DELETE  删除
    UPDATE  修改

字段级别

    SELECT(col1,col2,...)   查询的字段
    UPDATE(col1,col2,...)   修改的字段
    INSERT(col1,col2,...)   插入的字段

所有权限

    ALL PRIVILEGES 或 ALL

授权

参考:https://dev.mysql.com/doc/refman/5.7/en/grant.html 官网地址

GRANT priv_type [(column_list)],... ON [object_type] priv_level TO ‘user‘@‘host‘ [IDENTIFIED BY ‘password‘] [WITH GRANT OPTION];
priv_type: ALL [PRIVILEGES]
object_type:TABLE | FUNCTION | PROCEDURE
priv_level: *(所有库) | *.* | db_name.* | db_name.tbl_name | tbl_name(当前库的表) | db_name.routine_name(指定库的函数,存储过程,触发器)

with_option: GRANT OPTION
MAX_QUERIES_PER_HOUR count 每小时最大的查询数
MAX_UPDATES_PER_HOUR count 每小时最大的更新数
MAX_CONNECTIONS_PER_HOUR count 每小时最大的连接数
MAX_USER_CONNECTIONS count 最大用户连接

示例:

1、给本地用户授权某个数据库所有权限
all privileges : 表示所有权限
on hyt: 表示针对哪个数据库
to ‘user‘@‘host‘ : 针对哪个用户
identified by : 表示对应用户和主机的密码
授权之后,我们使用这个用户登录,发现它只可以看到它权限之内的数据库

grant all privileges on hyt.* to ‘hyt‘@‘localhost‘ identified by ‘centos‘;
技术图片

使用特定的用户连接数据库
mysql -uhyt -pcentos
show databases;

技术图片
2、查看指定用户的授权信息
show grants for ‘hyt‘@‘localhost‘
技术图片
3、给远程linux用户授权,并且指定了linux用户只能通过192.168.245.100这个ip地址进行连接mysql
grant all privileges on ‘linux‘@‘192.168.245.100‘ identified by ‘centos‘
使用命令授权后,使用如下命令进行刷新
flush privileges;

回收权限

语法

REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] priv_level FROM user [, user] ...

示例:

1、收回hyt用户的管理hyt数据库的所有权限
revoke all on hyt.* from hyt@‘localhost‘
查看用户授权信息
show grants for hyt@‘localhost‘
技术图片

MYSQL-授权

标签:所有权   sel   过程   mys   pass   文件   super   process   centos   

原文地址:https://blog.51cto.com/14116879/2391295

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!