数据库保护

创建用户

create user 'username'@'host' identified by 'password' [WITH] [DBA | RESOURCE | CONNECT];

其中,

‘username’:需要创建的用户名

‘host’:指定该用户可以在那台主机上登录

‘password’:密码

只有系统的超级用户才有创建一个新的数据库用户的权限,新创建的数据库用户有三种权限:CONNECT, RESOURCE 和 DBA。如果没有指定创建的新用户的权限,默认用户拥有CONNECT权限。拥有CONNECT权限的用户不能创建新用户,不能创建模式,也不能创建基本表,只能登录数据库。

为student数据库创建一个可在“127.0.0”C类网络中的任何主机访问的用户s1,初始密码为123456。

CREATE USER 's1'@'127.0.0.%' IDENTIFIED BY '123456';

 将用户s1初始密码设置为过期。

ALTER USER 's1'@'127.0.0.%' PASSWORD EXPIRE;

 

 从运行的结果中我们可以看出,虽然可以用s1登入到数据库中,但是当我们查看数据库中的数据的时候,显示错误,需要我们重新设置密码。

 

重新设置过密码之后就可以正常查询了。

 将用户s1密码重置为:a2b3-c4

set password=password('a2b3-c4');

自主存取控制方法

通过SQL的GRANT和REVOKE语句实现

GRANT语句的一般格式:

GRANT <权限>[,<权限>]

ON <对象类型><对象类型>[,<对象类型>]...

TO <用户>[,<用户>]...

[WITH GRANT OPTION];

语义:将指定操作对象的指定操作权限授予指定的用户

指定 WITH CRANT OPTION 子句,则该用户有传播权

为用户s1授予查看SC表的权限

grant select on table student to s1;

回收用户s1对SC表的查看权限。

revoke select on table student from s1;
永远渴望,大智若愚(stay hungry, stay foolish)
原文地址:https://www.cnblogs.com/h-hkai/p/14946259.html