
权限分级库级day06.*全库所有表不能限定字段表级day06.students整张表全部字段字段级select(name,score)单表里只开放指定列最小粒度权限视图操作create view封装常用查询简化访问、隐藏敏感字段drop view删除视图不影响原始数据表配套工具命令show grants for 用户名查看用户所有权限flush privileges刷新权限查看权限show grants for root%;赋权grant 权限 on 库.表to‘用户名host;给用户所有的权限包括给别人执行grant权限grant all privileges on *.* to root% with grant option ;with grant option它的作用是:你创建的这个用户能不能给别人执行 grant单表指定字段权限只能访问这一张表、指定的几列适合限制用户只能看部分敏感字段。grant select(字段1,字段2) on 库.单表 to 用户给用户授权查询功能单表指定权限#给tom权限对testdb.emp表有查询的功能 grant select on testdb.emp to tom%; show grants for tom%;单表所有权限例如testdb库所有表可查看grant select on testdb.* to jack%;例如给用户追加插入权限testdb.emp单库单表权限#给tom追加一个插入权限 grant insert on testdb.emp to tom%; show grants for tom%;列级限制只允许查指定字段#只允许jack用户查看testdb库的emp表的ename和sal列的信息create user jack% identified by Aa123456.; grant select(ename,sal) on testdb.emp to jack%; show grants for jack%;视图创建视图创建视图aaa只显示testdb库的emp表的ename和sal列的信息create view aaa as select ename,sal from testdb.emp;视图aaa看起来只有 ename,sal两个字段看不到原表其他列;数据库不会单独存一份数据数据还是存在原始表emp里改 / 删视图的数据本质是修改底层原始emp 表的数据。直接查视图 aaa等价于执行select ename,sal from testdb.emp;更改试图数据update aaa set ename 吕布2 where sal 800;删除视图数据delete from aaa where ename 吕布2;删除视图drop view aaa;用户权限回收例如移除jack用户对testdb.emp表的ename,sal字段的查看权限回收字段级查询权限revoke select(ename,sal) on testdb.emp from jack%; show grants for jack%;例如回收 tom 整张表的查询权限revoke select on testdb.tmp from tom%; show grants for tom%;例如一次性回收 tom 在这张表的所有权限revoke all on testdb.tmp from tom%; show grants for tom%;用户管理修改用户密码alter user zpq192.168.88.% identified by Aa123456;修改用户名 / 登录主机rename user zpq192.168.88.% to ltx192.168.88.%; flush privileges;验证语句select user,host from user;在 MySQL 命令行切换用户system mysql -uroot -pMySQL666;-uroot指定登录用户 root-pMySQL666明文附带密码MySQL666查询当前这条数据库连接正在使用的账号select user();