mysql 权限 11章_mysql用户权限

mysql.user表用户权限相关字段的含义:

Select_priv #查询

Insert_priv #插入

Update_priv #修改

Delete_priv #删除

Create_priv #创建数据库或表

Drop_priv #删除数据库或表

Reload_priv #执行刷新和重新加载MySQL所用各种内部缓存的特定命令,包括日志、权限、主机、查询和表重新加载权限表

Shutdown_priv #关闭MySQL服务,在将此权限提供给root账户之外的任何用户时,都应当非常谨慎

Process_priv #用户是否可以通过SHOW PROCESSLIST命令查看其他用户的进程服务器管理

File_priv #用户是否可以执行SELECT INTO OUTFILE和LOAD DATA INFILE命令加载服务器上的文件

Grant_priv #用户是否可以将已经授予给该用户自己的权限再授予其他用户(任何用户赋予全部已有权限

References_priv #目前只是某些未来功能的占位符;现在没有作用

Index_priv #用户是否可以创建和删除表索及引用索引查询表

Alter_priv #用户是否可以重命名和修改表结构

Show_db_priv #用户是否可以查看服务器上所有数据库的名字,包括用户拥有足够访问权限的数据库可以考虑对所有用户禁用这个权限,除非有特别不可抗拒的原因

Super_priv #用户是否可以执行某些强大的管理功能,例如通过KILL命令删除用户进程,使用SET GLOBAL修改全局MySQL变量,执行关于复制和日志的各种命令超级权限

Create_tmp_table_priv #用户是否可以创建临时表

Lock_tables_priv #用户是否可以使用LOCK TABLES命令阻止对表的访问/修改

Execute_priv #用户是否可以执行存储过程此权限只在MySQL 5.0及更高版本中有意义

Repl_slave_priv #用户是否可以读取用于维护复制数据库环境的二进制日志文件此用户位于主系统中,有利于主机和客户机之间的通信主服务器管理

Repl_client_priv #用户是否可以确定复制从服务器和主服务器的位置从服务器管理

Create_view_priv #用户是否可以创建视图此权限只在MySQL 5.0及更高版本中有意义

Show_view_priv #用户是否可以查看视图或了解视图如何执行此权限只在MySQL 5.0及更高版本中有意义

Create_routine_priv #用户是否可以更改或放弃存储过程和函数此权限是在MySQL 5.0中引入的

Alter_routine_priv #用户是否可以修改或删除存储函数及函数此权限是在MySQL 5.0中引入的

Create_user_priv #用户是否可以执行CREATE USER命令,这个命令用于创建新的MySQL账户

Event_priv #用户是否创建、修改和删除事件这个权限是MySQL 5.1.6新增的

Trigger_priv #用户是否创建和删除触发器,这个权限是MySQL 5.1.6新增的

Create_tablespace_priv#用户是否可以创建表空间

# GRANT赋权的关键词和数据库中mysql.user表权限字段对应关系参考链接

https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html

# 指定全部权限,mysql.user 表中会体现出权限控制信息

GRANT ALL PRIVILEGES ON *.* TO 'user1'@'1.1.1.1' IDENTIFIED BY '111111';

# 指定库的权限,会在 mysql.db 表中体现出精细到指定库的信息

GRANT SELECT,INSERT,UPDATE ON ops.* TO 'user1'@'%';

# 指定库指定表的权限,会在 mysql.tables_priv 表中体现出权限精细到某张表的信息

GRANT SELECT,INSERT,UPDATE ON ops.ding TO 'user1'@'%';

# 指定某表的某列权限,会在 mysql.columns.priv 表中体现出来

GRANT SELECT(`age`),UPDATE(`age`) ON aaa.info TO 'user1'@'%';

#测试

#mysql> update info set age = 1 where id =1;

#ERROR 1143 (42000): SELECT command denied to user 'user1'@'x.x.x.x' for column 'id' in table 'info'

#mysql> update info set age = 1 where age = 11;

#Query OK, 1 row affected (0.03 sec)

# 刷新内存中的权限

FLUSH PRIVILEGES;

# 查看用户权限

SHOW GRANTS FOR 'user1';

# 赋权语句解析

GRANT ALL PRIVILEGES ON *.* TO 'user1'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;

ALL PRIVILEGES:表示将所有权限赋给用户。也可指定具体的权限,如:SELECT、UPDATE、INSERT等。

ON:这些权限对哪些数据库和表生效,第一个*号是数据库名,第二个*号是表名

TO:将权限赋予哪个用户。用户名@地址,所有地址用%表示,或者可以指定具体ip、ip段、主机名。

IDENTIFIED BY:指定用户的密码。

WITH GRANT OPTION:允许用户将自己的权限赋权给其它用户。

专注于 服务器运维与web架构

E-mail:venus#rootop.org

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值