MYSQL脱敏
脱敏: 脱离敏感信息。
有时候开发需要权限查找一些数据,那么mysql数据库存放着很多重要数据信息,肯定不能随便让别人看到,这时候需要进行脱敏操作,这是为了权限最小化。
grant all privileges on *.* to test@'%' identified by '123';
- all privileges 权限 .
- *. * 所有库所有表
- test@‘%’ mysql用户构成:用户名@主机域,所以test@'%'是一个用户
- ‘123’ 是test@'%'用户密码
权限限制
- mysql.* 单库级别 (mysql库的所有表)
- mysql.user 单表级别 (mysql库的user表)
- mysql.user.host 单列级别 (这个来讲就是限制到mysql库的user表的host列,mysql.user.host语法是不对的,只是为了让大家方便理解才写成mysql.user.host,正确使用看下文)
单库级别
#给test1@'%'这个用户mysql库中所有表的查询权限。
#使用test1登陆,能查询mysql库所有表的数据信息
grant select on mysql.* to test1@'%' identified by '123';
单表级别
#给test2@'%'这个用户mysql库中user表的查询权限。
#使用test2登陆,能查询mysql库user表的数据信息
grant select on mysql.user to test2@'%' identified by '123';
单列级别
#只给test@'%'这个用户mysql库中user表的user列的查询权限。
grant select(user) on mysql.user to test@'%' identified by '123';
#只给test@'%'这个用户mysql库中user表的user列和host列的查询权限。
grant select(user,host) on mysql.user to test@'%' identified by '123';