Skip to content

docs: clarify connector permission check in MySQL execution flow (fix #2466)#2838

Merged
Snailclimb merged 2 commits intoSnailclimb:mainfrom
Senrian:fix-issue-2466
Apr 30, 2026
Merged

docs: clarify connector permission check in MySQL execution flow (fix #2466)#2838
Snailclimb merged 2 commits intoSnailclimb:mainfrom
Senrian:fix-issue-2466

Conversation

@Senrian
Copy link
Copy Markdown
Contributor

@Senrian Senrian commented Apr 25, 2026

修复内容

修复 Issue #2466:SQL执行流程中关于连接器权限校验步骤的描述不准确

问题:原描述「先检查该语句是否有权限」不够准确,容易让读者误以为权限检查发生在分析器/缓存之后。

修复:明确指出连接器在身份认证阶段即完成权限获取,认证失败则直接拒绝访问。

- 先检查该语句是否有权限,如果没有权限,直接返回错误信息,如果有权限,在 MySQL8.0 版本以前...
+ 先通过连接器进行身份认证和权限获取(若认证失败则直接拒绝),在 MySQL8.0 版本以前,认证通过后会先查询缓存...

参考:MySQL连接器主要负责用户登录时的身份认证,包括校验账户密码和权限获取(Issue #2466

@Snailclimb
Copy link
Copy Markdown
Owner

修复内容

修复 Issue #2466:SQL执行流程中关于连接器权限校验步骤的描述不准确

问题:原描述「先检查该语句是否有权限」不够准确,容易让读者误以为权限检查发生在分析器/缓存之后。

修复:明确指出连接器在身份认证阶段即完成权限获取,认证失败则直接拒绝访问。

- 先检查该语句是否有权限,如果没有权限,直接返回错误信息,如果有权限,在 MySQL8.0 版本以前...
+ 先通过连接器进行身份认证和权限获取(若认证失败则直接拒绝),在 MySQL8.0 版本以前,认证通过后会先查询缓存...

参考:MySQL连接器主要负责用户登录时的身份认证,包括校验账户密码和权限获取(Issue #2466

感谢优化修正。

修复内容

修复 Issue #2466:SQL执行流程中关于连接器权限校验步骤的描述不准确

问题:原描述「先检查该语句是否有权限」不够准确,容易让读者误以为权限检查发生在分析器/缓存之后。

修复:明确指出连接器在身份认证阶段即完成权限获取,认证失败则直接拒绝访问。

- 先检查该语句是否有权限,如果没有权限,直接返回错误信息,如果有权限,在 MySQL8.0 版本以前...
+ 先通过连接器进行身份认证和权限获取(若认证失败则直接拒绝),在 MySQL8.0 版本以前,认证通过后会先查询缓存...

参考:MySQL连接器主要负责用户登录时的身份认证,包括校验账户密码和权限获取(Issue #2466

AQS 文档这处修改建议回退:tryReleaseShared 的方法签名应为 tryReleaseShared(int arg),返回值是 boolean,而不是参数类型为 boolean。

MySQL 执行流程这处修改方向是合理的,连接器阶段负责身份认证和权限获取,比“先检查该语句是否有权限”的表述更准确。

@Senrian
Copy link
Copy Markdown
Contributor Author

Senrian commented Apr 25, 2026

是的,这个修复是正确的。Issue #2466 指出原描述「先检查该语句是否有权限」容易让读者误解为连接器在进行 SQL 语句级别的权限检查。实际上,MySQL 连接器的职责是:

  1. 在建立连接时进行身份认证(登录验证)
  2. 加载并缓存该用户的权限数据
  3. 后续权限判断由执行器在执行阶段完成,而非在查询缓存之前

修改后的描述「先通过连接器进行身份认证和权限获取(若认证失败则直接拒绝)」更准确地反映了连接器的实际工作流程。感谢确认!

@Snailclimb Snailclimb merged commit 56c7b13 into Snailclimb:main Apr 30, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants