mysql数据库管理权限_MySQL数据库账户的授权管理权限

MySQL管理员应该知道如何设置MySQL用户账号,指出哪个用户可以连接服务器,从哪里连接,连接后能做什么。MySQL 3.22.11开始引入两条语句使得这项工作更容易做:GRANT语句创建MySQL用户并指定其权限,而REVOKE语句删除权限。两条语句扮演了mysql数据库的前端角色,并提供与直接操作这些表的内容不同的另一种方法。CREATE和REVOKE语句影响4个表:授权表

内容

user 能连接服务器的用户以及他们拥有的任何全局权限

db 数据库级权限

tables_priv 表级权限

columns_priv 列级权限

还有第5个授权表(host),但它不受GRANT和REVOKE的影响。

当你对一个用户发出一条GRANT语句时,在user表中为该用户创建一条记录。如果语句指定任何全局权限(管理权限或适用于所有数据库的权限),这些也记录在user表中。如果你指定数据库、表和列级权限,他们被分别记录在db、tables_priv和columns_priv表中。

用GRANT和REVOKE比直接修改授权表更容易些,然而,建议你阅读一下《MySQL安全性指南》。这些表异常重要,而且作为一名管理员,你应该理解它们如何超越GRANT和REVOKE语句的功能水平。

在下面的章节中,我们将介绍如何设置MySQL用户账号并授权。我们也涉及如何撤权和从授权表中删除用户。

你可能也想考虑使用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 删除表中已有的记录

DROP 抛弃(删除)数据库和表

INDEX 创建或抛弃索引

INSERT 向表中插入新行

REFERENCE 未用

SELECT 检索表中的记录

UPDATE 修改现存表记录

FILE 读或写服务器上的文件

PROCESS 查看服务器中执行的线程信息或杀死线程

RELOAD 重载授权表或清空日志、主机缓存或表缓存。

SHUTDOWN 关闭服务器

ALL 所有;ALL PRIVILEGES同义词

USAGE 特殊的“无权限”权限

上表显示在第一组的权限指定符适用于数据库、表和列,第二组数管理权限。一般,这些被相对严格地授权,因为它们允许用户影响服务器的操作。第三组权限特殊,ALL意味着“所有权限”,UASGE意味着无权限,即创建用户,但不授予权限。0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值