数据库中往往包含了非常重要的数据,可以通过访问控制来确保数据的安全。数据控制语言DCL可以为我们指定的用户授予一定的权限,或者从指定的用户处召回指定的权限。
-- 授权
grant
-- 召回
revoke
-- 创建用户,该用户的用户名为xizhi,访问口令是xizhi00;该⽤户可以从任意主机访问数据库服务器,因为用户名后面 @ 后⾯使⽤了可以表示任意多个字符的通配符 %。如果要限制访问网段主机,就需要把主机的网段添加到@后面
create user 'xizhi'@'%' identified by 'xizhi00'; -- 这个时候该用户是没有任何权限的
-- 授权 给xizhi授予数据库hrs 中表tb_dept的查询权限
grant select on hrs.tb_dept to 'xizhi'@'%';
-- 给xizhi授予数据库hrs中所有对象 插入,更新和删除权限
grant insert,update,delete on hrs.* to 'xizhi'@'%';
-- 给xizhi授予执行DDL的权限
grant create,drop,alter on school.* to 'xizhi'@'%'
-- 召回权限
revoke insert,update,delete on hrs.* from 'xizhi'@'%';
-- 召回所有权限
revoke all privileges on *.* from 'xizhi'@'%';
-- 刷新权限
flush privileges