Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

怎样查询版本和当前身份?

先说出你的答案

定义边界、关键机制、一个反例;P8题再补容量、失败与验证。

查看完整题解

参考回答

直接回答

可用 VERSION() 查看版本,USER() 查看客户端提供的用户与连接来源,CURRENT_USER() 查看服务器实际匹配的认证账号。两种身份信息可能不同,不能混为一谈。

讲清原理

账号的主机部分和匹配规则会影响权限,存储对象的安全上下文还可能影响 CURRENT_USER() 的含义。排查时也要确认连到的是预期实例,而不只看版本号。

例子与易错点

同名用户在不同来源范围可能有不同权限。查询这些信息用于确认上下文,不应把管理员账号的输出当成业务账号也有相同能力的证明。

同时观察版本、连接身份和授权账号。

SELECT VERSION(), USER(), CURRENT_USER();

相关题 · 第 20 题、第 3 题

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。