介绍/ TLDR:
我们正在考虑改变解释raybetapp2下载 需要更少的特权提供插入/更新/删除语句的执行计划(并可能改变行为解释选择),使其更方便、更安全的使用监控和查询分析工具。raybet雷竞技竞猜在线官网我们希望得到来自社区的反馈对不同的方法实现这一点。
存在的问题:
运行的解释是一种很好的方式来了解复杂的SQL语句的执行。这是自然的监控和查询分析工具利用解释为这些目raybet雷竞技竞猜在线官网的。
然而,有一个问题为例,当插入/更新/删除语句需要解释。运行这些语句的解释,一个只读操作,需要相同的特权运行原来的语句会改变数据!这意味着能够运行解释任何DML语句执行的监控和查询分析工具使用的系统用户需要授予全球插入/更新/删除权限随着全球SELECT权限。raybet雷竞技竞猜在线官网
给予一个监控等广泛的特权和查询分析工具用户帐户听起来像是一个好主意从安全raybet雷竞技竞猜在线官网的观点。许多用户会担心这样做。还有,例如,它是不推荐的雷竞技下载官网Praybet雷竞技竞猜在线官网ercona监视和管理手册。但没有这些权限就不可能使用解释这些工具来分析问题数据修改语句。
在Pe雷竞技下载官网rcona,我们正在考虑解决这个问题通过解释等语句插入/更新/删除需要更少的特权比原来的语句被解释。原则上,只需要选择特权解释插入/更新/删除应足以解决问题。但理想情况下,应该有一个单独的EXPLAIN_PLAN特权将更严格的选择。
可能的解决方式:
我们正在考虑几种方法实现这一点,每个国家都有自己的优缺点。但是在继续之前描述它们,让我提一些并发症要牢记:
- 自然,EXPLAIN语句可能披露信息表的内容(例如,有多少行,某些关键值)。这可能是一个问题对于一些敏感数据。目前,这可以避免通过使用部分撤销撤销任何特权模式的特性,从监控/全用户敏感数据存储。raybet雷竞技竞猜在线官网
- 引入一个EXPLAIN_PLAN特权支持水平比全球其他(例如,可以授予/取消或部分取消模式级别)将与上游ACL表的二进制兼容性。这将导致一个更复杂的迁移过程从上游甲骨文MySQL Percona MySQL服务器。雷竞技下载官网此外,它可能会导致更多的问题在未来如果上游决定改变ACL表在其他方向。所以我们尽量避免这样的解决方案,需要不兼容的更改。
这是我们目前正在考虑的方法:
1。我们引入一个新的全球动态EXPLAIN_PLAN特权授予用户监控和查询分析工具。raybet雷竞技竞猜在线官网解释代码改变需要全球EXPLAIN_PLAN特权或权限声明需要解释。
+)补丁实施这种方法相当简单,最小程度的。所以它不太可能产生bug并导致合并与上游的麻烦。
+)现有用户的代码/场景继续工作(但请参见下面的评论部分撤销!)。
-)自从新特权是全球性的,它不会与部分撤销(或使其工作将大大增加复杂性和侵入性的变化)。所以不会有办法避免披露敏感数据表来监控和查询分析工具用户解释。raybet雷竞技竞猜在线官网
2。我们引入一个新的全球动态EXPLAIN_DML特权授予用户监控和查询分析工具。raybet雷竞技竞猜在线官网解释与在前面的情况下,它像一个标志(这个点子是有先例,看到NDB_STORED_USER特权)。这个标志表明,解释为DML语句由用户需要选择适当的特权,而不是插入/更新/删除权限。
+)这段代码改变可以是相当简单的,除了performance_schema的代码来处理特殊情况和information_schema表。
+)这种方法适用于部分撤销,所以可以保护敏感数据。
+)现有用户的所有场景继续工作,因为只有用户提供一个新的EXPLAIN_DML国旗都受到影响。
-)补丁是相当大,侵入性(因为我们需要接触的地方DML目前检查用户插入/更新/删除权限)。
这种方法的一个变种,使用一个启动选项来确定用户要求特殊待遇,而不是特权。
3所示。我们引入一个新的全球动态EXPLAIN_ONLY特权。这种特权是“消极”——这意味着它块执行任何non-EXPLAIN语句而活跃。解释语句仍然需要相同的特权的执行。EXPLAIN_ONLY的想法是,就可以创建一个角色,通过监控和查询分析工具,使用与所有必要的“强有力”的特权插入/更新/删除语句,但只局限于解释语句的执行。raybet雷竞技竞猜在线官网
+)补丁实施这种方法相当简单,非侵入性的。
+)现有用户的代码/场景继续工作。
+)这种方法适用于部分撤销,所以可以保护敏感数据。
-)能够执行解释语句,不牺牲P_S和I_S表,监控和查询分析工具将不得不不断地激活和停用EXPLAIN_ONLY被授予这个特殊的角色。raybet雷竞技竞猜在线官网
-)我们正在引入一个新的“负面”特权的概念不符合现有的特权,因此它需要额外的文档和解释。
这些方法之间的最优选择是不简单,取决于用例被认为是重要的。
我们的要求:
我们希望得到来自社区的反馈的建议方法。你的偏好是什么,为什么?他们会为你工作吗?或者你看一些问题我们错过了?也许你有一些很好的替代品主意吗?请让我们知道你的想法关于他们离开这篇文章下面的评论。
我们特别感谢工作人员的反馈和监控和查询分析工具!raybet雷竞技竞猜在线官网你会看到价值在这种变化?
也会听到来自Oracle MySQL团队的反馈,我们计划贡献上游这些变化一旦实现!我们已经创建了功能要求# 110132”可以解释为DML /较低的只读权限运行”的上游。
提前谢谢你!







那太好了,但非常危险,很难管理:解释分析、函数调用在解释(# 67632)…在我看来我觉得我们真的不需要,如果你想解释“delete”可能您正在编写并运行它
如果这是/因为PMM,然后监视用户应该有这些特权…但比解释计划的事实后,如raybet雷竞技竞猜在线官网果PMM能读取和保存真正的优化器在执行和数据显示
你好旧金山!
谢谢你的反馈!这个计划并不是新特权/规则适用于解释分析。事实上,它不同于普通的解释和允许它DML没有插入/更新/删除用户特权看起来更危险。
关于论证PMM和类似的工具应该有这些特权。这正是问题所在。很多用户都不愿意这样的特权授予监控用户,这使得它更难使用DML PMM /其他类似工具。raybet雷竞技竞猜在线官网
存储实际执行计划/优化数据和PMM使用它听起来像是一个好主意,但有自己的权衡(存储,多长时间等等)。