MySQL权限了解
2016-06-28 17:53
393 查看
一、MYSQL权限检查原理
1、检查用户是否有权限连接到服务器
判断依据:
1、你从哪来:host
2、你是谁:username
3、密码:password
用户的这三条信息存储在mysql库下的user表中
可以通过修改user表中的数据,更改这些信息如:
修改host:
update user set host = '10.2.1.73' where host = '127.0.0.1'
冲刷权限:flush privileges;
修改password:
update user set password =password('123456') whereuser = 'root'
flush privileges;
2、检查用户是否有权限执行此操作
二、权限的授予与收回
1、添加用户
语法:grant [权限1,权限2...] on *.* to user@'host' identified by 'password'
基本的全局权限:all,create,drop,insert,delete,update,select
例子:grant all on *.* to test@'10.2.1.%' identified by '123456' test用户可以在host为10.2.1.*的网段上登陆
通过select * from user 可以看到该用户的权限配置
2、回收权限
revoke all on *.* from test@'10.2.1.%';
注意:user表中的权限都是全局的 没有细致到库、表
3、给用户授库和表级别的权限
3.1数据库级别权限
语法:grant all on tag.* to test@'host' identified by 'password'
例子:grant all on tag.* to test@localhost identified by '123456' //给test用户赋予tag数据库的所有权限
flush privileges;
查看权限记录:use mysql
select * from db;
语法:revoke all on tag.* from test@'host'
例子:revoke all on tag.* from test@localhost; //收回test用户在tag数据库的所有权限
flush privileges;
3.2 表级别权限
语法:grant insert,update,select on tag.tag to test@'host' identified by 'password'
例子:grant insert,update,select on tag.tag to test@localhost;
//给test用户赋予tag数据库的tag表的insert,update,select的权限
flush privileges;
查看权限记录:use mysql
select * from tables_priv;
语法:revoke all on tag.tag from test@'host';
例子:revoke all on tag.tag from test@localhost; //收回test用户在tag数据库的tag表所有权限
1、检查用户是否有权限连接到服务器
判断依据:
1、你从哪来:host
2、你是谁:username
3、密码:password
用户的这三条信息存储在mysql库下的user表中
可以通过修改user表中的数据,更改这些信息如:
修改host:
update user set host = '10.2.1.73' where host = '127.0.0.1'
冲刷权限:flush privileges;
修改password:
update user set password =password('123456') whereuser = 'root'
flush privileges;
2、检查用户是否有权限执行此操作
二、权限的授予与收回
1、添加用户
语法:grant [权限1,权限2...] on *.* to user@'host' identified by 'password'
基本的全局权限:all,create,drop,insert,delete,update,select
例子:grant all on *.* to test@'10.2.1.%' identified by '123456' test用户可以在host为10.2.1.*的网段上登陆
通过select * from user 可以看到该用户的权限配置
2、回收权限
revoke all on *.* from test@'10.2.1.%';
注意:user表中的权限都是全局的 没有细致到库、表
3、给用户授库和表级别的权限
3.1数据库级别权限
语法:grant all on tag.* to test@'host' identified by 'password'
例子:grant all on tag.* to test@localhost identified by '123456' //给test用户赋予tag数据库的所有权限
flush privileges;
查看权限记录:use mysql
select * from db;
语法:revoke all on tag.* from test@'host'
例子:revoke all on tag.* from test@localhost; //收回test用户在tag数据库的所有权限
flush privileges;
3.2 表级别权限
语法:grant insert,update,select on tag.tag to test@'host' identified by 'password'
例子:grant insert,update,select on tag.tag to test@localhost;
//给test用户赋予tag数据库的tag表的insert,update,select的权限
flush privileges;
查看权限记录:use mysql
select * from tables_priv;
语法:revoke all on tag.tag from test@'host';
例子:revoke all on tag.tag from test@localhost; //收回test用户在tag数据库的tag表所有权限
相关文章推荐
- mysql生产环境常用命令
- mysql show processlist命令 详解
- mysql 5.7.13安装与初步使用
- MYSQL-----触发器
- MySQL的基本函数
- XtraBackup详解
- 总结:mysql
- MySQL 中 ` 的保留字冲突处理
- mysql分组查询最新数据
- Mysql存储过程总结
- mysql 配置文件
- 快速修改MySQL某张表的表结构
- MySQL 锁机制
- MySQL 5.7 学习:新增配置参数
- MySQL优化技巧
- mysql锁详解
- MySQL -- 通过命令转储sql
- ubuntu中为hive配置远程MYSQL database
- PHP笔记(碎片代码) - 选择MySQL数据库
- Mysql触发器总结