当前位置: 首页 > wzjs >正文

网站设计_网站建设_手机网站建设最经典最常用的网站推广方式

网站设计_网站建设_手机网站建设,最经典最常用的网站推广方式,网站建设品牌公司,网站内容编写方法MySQL数据库系统在管理用户访问控制时,除了传统的静态权限之外,还引入了动态权限的概念。动态权限机制为系统管理员提供了更为灵活和细致的权限管理方式,允许根据运行时环境和特定组件的需求来定义和授予权限。本文将深入探讨MySQL动态权限的…

MySQL数据库系统在管理用户访问控制时,除了传统的静态权限之外,还引入了动态权限的概念。动态权限机制为系统管理员提供了更为灵活和细致的权限管理方式,允许根据运行时环境和特定组件的需求来定义和授予权限。本文将深入探讨MySQL动态权限的特性和应用方法。

动态权限的基本概念

动态权限与服务器启动时即已内置的静态权限相对,它们是在运行时由服务器或特定组件定义的。这意味着动态权限的存在与否依赖于相关组件是否被启用。例如,某些插件可能在安装时注册自己的动态权限,而这些权限只有在该插件激活时才生效。动态权限的设计使得权限管理能够更加适应多样化的应用场景和安全需求。

动态权限概览:

  • APPLICATION_PASSWORD_ADMIN(从MySQL 8.0.14起):为双密码功能服务,允许用户在修改自身账户时使用RETAIN CURRENT PASSWORDDISCARD OLD PASSWORD子句。
  • AUDIT_ABORT_EXEMPT(自MySQL 8.0.28始):允许查询绕过审计日志过滤器中的“abort”限制,由audit_log插件定义。
  • AUDIT_ADMIN:支持审计日志的管理。
  • NDB_STORED_USER(自NDB 8.0.18起):允许用户在NDB集群中存储,角色带有此权限也会被存储。
  • PASSWORDLESS_USER_ADMIN(自MySQL 8.0.27起):用于无密码账户的管理,创建无密码账户或处理复制用户时需要此权限。
  • PERSIST_RO_VARIABLES_ADMIN:结合SYSTEM_VARIABLES_ADMIN,允许使用SET PERSIST_ONLY命令只将只读系统变量持久化到配置文件,不影响运行时值。
  • REPLICATION_APPLIER:使账户能作为复制通道的权限检查用户,并执行mysqlbinlog输出中的BINLOG语句。
  • REPLICATION_SLAVE_ADMIN:允许连接到复制源服务器,使用START REPLICASTOP REPLICA管理复制,以及变更复制源设置。
  • RESOURCE_GROUP_ADMIN:提供资源组的全面管理能力,包括创建、修改和删除资源组,以及线程和语句的分配。
  • RESOURCE_GROUP_USER:仅允许用户将其线程和语句分配给资源组。
  • SET_USER_ID:允许在执行视图或存储程序时设定有效的授权ID,可指定任何账户作为DEFINER,且自MySQL 8.0.22起,能绕过防止存储对象成为孤儿或被意外采用的安全检查。
  • SHOW_ROUTINE(自MySQL 8.0.20起):允许访问所有存储例程的定义和属性,即使用户不是定义者。
  • SKIP_QUERY_REWRITE(自MySQL 8.0.31起):发出的查询不受Rewriter插件重写影响。
  • SYSTEM_USER(自MySQL 8.0.16起):区分系统用户与普通用户,系统用户拥有此权限。
其他特定场景权限包括:
  • FIREWALL_ADMINFIREWALL_EXEMPTFIREWALL_USER:分别用于管理、豁免和更新个人防火墙规则,由MYSQL_FIREWALL插件定义。
  • FLUSH_* 系列权限:如FLUSH_OPTIMIZER_COSTSFLUSH_STATUS等,允许执行相应的FLUSH语句,用于优化器成本刷新、状态刷新等。
  • GROUP_REPLICATION_ADMIN:管理Group Replication,包括启动/停止、一致性设置等。
  • GROUP_REPLICATION_STREAM:允许账户用于Group Replication的组通信连接。
  • INNODB_REDO_LOG_ARCHIVEINNODB_REDO_LOG_ENABLE:管理InnoDB重做日志存档和启用/禁用。
  • MASKING_DICTIONARIES_ADMIN:管理数据屏蔽词典,增删词典条目。

动态权限的注册与管理

MySQL服务器内部维护着一个动态权限的注册表,这些权限存储在内存中,并在服务器关闭时进行注销。组件(如插件)在安装初始化阶段通常会自动注册其定义的动态权限,但在卸载时并不会自动注销这些权限。重复安装同一组件不会因为权限已经注册而产生警告或错误。

动态权限仅在全球级别(全局范围)有效,且服务器通过mysql.global_grants系统表记录用户账户的动态权限分配情况。当服务器启动时(除非使用了--skip-grant-tables选项),会自动注册这个表中列出的所有动态权限。此外,GRANTREVOKE语句可以修改这些权限的分配状态,且这些更改是持久化的,不会因服务器重启而丢失。

动态权限的授予与撤销

在使用GRANTREVOKE语句时,如果指定了非静态权限,服务器会检查当前已注册的动态权限列表,如果找到匹配项则进行授权,否则报错提示未知权限。当使用GRANT ALL [PRIVILEGES]全局级别指令时,它会授予所有静态全局权限及当前已注册的所有动态权限,但之后新注册的动态权限不会追溯性地授予任何账户。相反,REVOKE ALL则会撤销所有已授予的静态和动态权限。

迁移账户从SUPER到动态权限

MySQL 8.0版本中,许多原本需要SUPER权限的操作现在关联有更具体范围的动态权限。这一改变旨在提高安全性,使数据库管理员能够避免广泛授予SUPER权限,而是根据实际操作需求精细化定制用户权限。由于SUPER权限已被废弃,未来版本中可能会被移除,因此,对于拥有SUPER权限的账户,应提前迁移至相应的动态权限上,以确保在SUPER权限移除后,这些账户仍能执行必要的操作。

示例与实践

例如,若要授予用户u1控制复制(包括组复制)和修改系统变量的权限,可使用以下GRANT语句:

GRANT REPLICATION_SLAVE_ADMIN, GROUP_REPLICATION_ADMIN, BINLOG_ADMIN
ON . TO 'u1'@'localhost';

动态权限的授予情况可通过SHOW GRANTS命令和INFORMATION_SCHEMA.USER_PRIVILEGES表查询得知。

http://www.dtcms.com/wzjs/324240.html

相关文章:

  • 公司做网站开发流程市场调研报告500字
  • 招聘网站模板页上海知名网站制作公司
  • 网站建设业务前景营销策划书模板
  • 玩客云做网站品牌线上推广方案
  • 大学生兼职网站开发毕设论文杭州最专业的seo公司
  • 网站服务器ip地址在哪里看济南网络优化厂家
  • 太原做网站找谁网络视频营销策略有哪些
  • 学校网站群管理系统建设项目竞价出价怎么出
  • 深圳做网站的公司百度搜索引擎入口
  • 惠安网站建设报价seo优化软件有哪些
  • 网站建设模版中国软文网
  • 哪个网站可以做制图兼职软文是什么意思
  • 山西网站制作设计百度推广怎么收费标准
  • 建设外贸网站多少钱淘宝推广平台
  • 网上注册公司营业执照流程长沙seo运营
  • 网页制作与网站建设实战大全百度推广开户免费
  • 张掖网站建设培训班做百度推广的网络公司广州
  • 廊坊建设企业网站今天新疆新闻头条
  • 购物商城网站的运营广州新闻发布
  • 中国十大知名网站建设企业产品营销策划推广
  • 惠山做网站公司西安seo优化
  • 免费制作自己的微网站吗宁波seo网页怎么优化
  • 基于html5设计的网站建设开网站需要投资多少钱
  • xml天气预报网站怎么做sem是什么职位
  • 网站建设技术服务费怎么入账百度总部投诉电话
  • 网站备案 机构需要什么手续百度竞价排名公司
  • 个人电脑做服务器网站百度投诉热线中心客服
  • 梅兰商贸网站开发设计简介新型实体企业100强
  • 网站在线留言如何做谷歌seo外链
  • 关于进一步完善网站建设的请示竞价防恶意点击