mysql 全局权限_MySQL用户权限验证

长连接与用户权限

当客户端账号密码与服务器建立连接时,MySQL会读取该账号的所有权限并缓存,并在该连接持续期间使用这些权限,其他会话修改该账号权限,不会影响已有会话连接,仅对新创建的会话连接生效。

用户权限验证顺序

用户使用host、user、password 三项来验证登录,然后按照user>>db>>tables_priv>>columns_priv来得到用户权限。

对于相同用户名的登录用户,在进行匹配hostname时,按照最全匹配方式来匹配,如假设分别有以下授权用户:

user1@'192.168.1.1'

user1@'192.168.1.%'

user1@'192.%'

当user1用户登录时,先看登录IP是否匹配192.168.1.1,再看登录IP是否匹配192.168.1.%,最后看登录IP是否匹配192.%

实例级别授权

##授予用户所有数据库上的SELECT 权限

##授权后在mysql.user表的Select_priv=Y

GRANT SELECT ON *.* TO gga@localhost;

SELECT * FROM mysql.user where user='gga' \G

##取消上面授权

REVOKE SELECT ON *.* FROM gga@localhost;

1c07b52b0951

数据库级别级别授权

##授予用户数据库上test的所有表的SELECT权限

##授权后在mysql.db表的Select_priv=Y

GRANT SELECT ON testdb1.* TO gga@localhost;

SELECT * FROM mysql.db WHERE User='gga' \G

##取消上面授权

REVOKE SELECT ON testdb1.* FROM gga@localhost;

1c07b52b0951

表级别级别授权

##授予用户数据库上test的tb001表的SELECT权限

##授权后在mysql.db表的Select_priv=Y

GRANT SELECT ON testdb1.tb001 TO gga@localhost;

SELECT * FROM mysql.tables_priv WHERE User='gga' \G

##取消上面授权

REVOKE SELECT ON testdb1.tb001 FROM gga@localhost;

1c07b52b0951

MySQL特殊权限

USAGE 权限只用用于数据库登录,不能执行任何操作,usage 权限不能被回收。

ALL: 允许做任何事(和root一样)。

MySQL数据库/数据表/数据列权限

Alter: 修改已存在的数据表(例如增加/删除列)和索引。

Create: 建立新的数据库或数据表。

Delete: 删除表的记录。

Drop: 删除数据表或数据库。

INDEX: 建立或删除索引。

Insert: 增加表的记录。

Select: 显示/搜索表的记录。

Update: 修改表中已存在的记录。

MySQL全局管理权限

FILE: 在MySQL服务器上读写文件。

PROCESS: 显示或杀死属于其它用户的服务线程。

RELOAD: 重载访问控制表,刷新日志等。

SHUTDOWN: 关闭MySQL服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值