MySQL *** 作基础之DCL语句,用户权限管理

MySQL *** 作基础之DCL语句,用户权限管理,第1张

DCL 语句主要是DBA 用来管理系统中的对象权限时所使用的,一般的开发人员很少使用。

示例:创建只能本地登录(localhost)的账号zhangsan,密码为mypass

创建用户并授权,语法格式(8.0以前版本):

示例:

8.0以前版本创建用户授权一步到位。

8.0以后的版本,创建用户后,再进行授权 *** 作。

格式:

示例:

有两种方式查看。

第一种方式:

第二种方式:

g 相当于’’

G使每个字段打印到单独的行,也有’’的作用

只能查出哪个数据库的哪张表的权限,如查userwordpress在mysql数据库的user表的权限,显示都是N(no),没有权限,如果查root用户就都是Y(yes)选择了。

修改密码的两种方式:

1)Alter user

2)set password

3)8.0以前版本grant,8.0以后版本无法使用

修改host,访问IP:

MySQL管理员应该知道如何设置MySQL用户账号,指出哪个用户可以连接服务器,从哪里连接,连接后能做什么。MySQL 3.22.11开始引入两条语句使得这项工作更容易做:GRANT语句创建MySQL用户并指定其权限,而REVOKE语句删除权限。两条语句扮演了mysql数据库的前端角色,并提供与直接 *** 作这些表的内容不同的另一种方法。CREATE和REVOKE语句影响4个表:授权表 内容user 能连接服务器的用户以及他们拥有的任何全局权限db 据库级权限tables_priv 表级权限columns_priv 列级权限还有第5个授权表(host),但它不受GRANT和REVOKE的影响。你可能也想考虑使用mysqlaccess和mysql_setpermission脚本,它是MySQL分发的一部分,它们是Perl脚本,提供GRANT语句的另一种选择设置用户账号。mysql_setpermission需要安装DBI支持。1 创建用户并授权GRANT语句的语法看上去像这样:GRANT privileges (columns) ON what TO user IDENTIFIED BY "password" WITH GRANT OPTION要使用该语句,你需要填写下列部分:privileges授予用户的权限,下表列出可用于GRANT语句的权限指定符:权限指定符 权限允许的 *** 作ALTER 修改表和索引CREATE 创建数据库和表DELETE 删除表中已有的记录

你可以这样 *** 作。

如果MYSQL客户端和服务器端的连接需要跨越并通过不可信任的网络,那么需要使用ssh隧道来加密该连接的通信。

使用set password语句来修改用户的密码,先“mysql -u root”登陆数据库系统,然后“mysql> update mysql.user set password=password(‘newpwd’)”,最后执行“flush privileges”就可以了。

Mysql需要提防的攻击有,防偷听、篡改、回放、拒绝服务等,不涉及可用性和容错方面。对所有的连接、查询、其他 *** 作使用基于acl即访问控制列表的安全措施来完成。也有一些对ssl连接的支持。

设置除了root用户外的其他任何用户不允许访问mysql主数据库中的user表加密后存放在user表中的加密后的用户密码一旦泄露,其他人可以随意用该用户名/密码相应的数据库

使用grant和revoke语句来进行用户访问控制的工作


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6096713.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存