学习自b站骆昊 jackfrued 老师的网课以及黑马网课。
Data Control Language,给用户授权,不同用户能操作数据权限也是不一样的。主要是 DBA 使用。
select * from user;
create user '人名'@'域名' identified by '密码';-- 添加一个用户,并且限制这个人只能通过这个域名访问。域名如 localhost,%代表任意路径
alter user '人名'@'域名' identified with mysql_native_password by '新密码';-- with mysql_native_password 是 mysql 的修改方式
drop user '人名'@'域名';
如果数据库本来就是在局域网里,那么即便改了权限,公网也是访问不到的。
查看权限:
select grants for '用户名'@'主机名';
授权:
grant 权限 on 数据库名.表名 to '用户名'@'主机名';
数据库名和表名可以用通配符 * 代替。
权限包括: all (privileges), select, insert, update, delete, alter, drop, create
grant select on hrs.* to '人名'@'%';-- 这个人对 hrs 数据库下所有表都有查询权限,但是不能增删改
grant insert, delete, update on hrs.* to '人名'@'%';
grant all privileges on *.* to '人名'@'%';-- 这个人对所有数据库所有对象拥有所有权限
grant all privileges on *.* to '人名'@'%' with grant option;-- 这个人不仅有所有权限,还能授予权限给别人
召回权限:revoke
revoke 权限 数据库名.表名 from '人名'@'%';
添加权限之后最好 Reconnect 刷新一下。或者执行:
flush privileges;
Workbench - Administration - Management - Users and privileges - 选中某个用户 - Schema Privileges,可以查看这个人的权限。
至此,SQL 语句基本内容就已经学完啦~接下来涉及 Python 数据持久化的内容。