我是靠谱客的博主 微笑砖头,最近开发中收集的这篇文章主要介绍mysql访问权限有哪些_MySQL访问权限系统,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

MySQL权限系统的主要功能是验证从给定主机连接的用户,并将该用户与数据库上的权限(如select, insert, update和delete)相关联。附加功能包括维护匿名用户,授予MySQL特定功能(如load data infile)和管理性操作的权限。

MySQL权限系统具有如下限制:

● 不具备用户黑名单功能

即不能显式指定拒绝访问的用户列表。也就是说,你不能显式指定一个用户,让MySQL拒绝其连接;

● 建表删表和建库删库的权限紧密相连不可分割

即有权限建表删表就有权限建库删库,有建库删库的权限就有建表删表的权限。也就是说,你不能为用户指定权限,使其可以在数据库中建表删表,但又不能创建或者删除数据库本身;

● 密码只能在全局范围内作用于一个账号

即你不能为特定对象,如数据库,表或例程,赋予密码;

MySQL权限系统的用户接口由SQL语句组成,如create user, grant和revoke

在内部,MySQL将权限信息存储在「mysql」数据库的权限表中。MySQL服务器在启动时将这些权限表的内容读入内存,并基于这些内存副本进行访问控制决策

MySQL权限系统确保所有用户只能执行自各自允许的操作。作为一个用户,当你连接到MySQL服务器时,你的身份由你连接的主机和你指定的用户名决定。当你在连接完成后发出请求时,系统将根据你的身份和你想要执行的操作来赋予权限

MySQL使用主机名和用户名来识别你的身份,因为没有理由相信来自不同主机的相同用户属于同一个人,例如从office.example.com连接的用户joe与从home.example.com连接的用户joe可能不是一个人。MySQL通过对来自不同主机的相同用户进行区分来解决这个问题:你可以对从office.example.com连接的用户joe赋予一组权限,而对从home.example.com连接的用户joe赋予另一组权限。

要查看给定账号的权限,请使用「show grants」语句,例如:

14e287746085e52031c76289d5cae3be.png

MySQL访问控制包括两个阶段:

① 服务器根据你的身份以及你所提供的密码正确与否,接受或拒绝连接;

② 连接成功后,服务器将检查你所发出的每个语句,以确定你是否有足够的权限执行它。例如,如果你尝试从表中检索行或者从数据库中删除表,则服务器将验证你是否拥有表的select权限或数据库的drop权限;

最后

以上就是微笑砖头为你收集整理的mysql访问权限有哪些_MySQL访问权限系统的全部内容,希望文章能够帮你解决mysql访问权限有哪些_MySQL访问权限系统所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部