OB mysql模式授权用户后,执行命令flush privileges报错是什么原因?

【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】5.7.25-OceanBase-v3.2.4.5
【问题描述】OB mysql模式授权用户后,执行命令flush privileges报错是什么原因?
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

对于您提到的在 OceanBase MySQL 模式下授权用户后执行 FLUSH PRIVILEGES 报错 1064 的问题,这通常意味着语法错误,即 SQL 语句中存在 OceanBase 不识别的语法。OceanBase 在某些方面与 MySQL 存在兼容性差异,尤其是在权限管理方面。对于您当前遇到的问题,建议先检查是否有不被 OceanBase 支持的语法或选项。

由于 obdiag 主要用于诊断与日志收集,而您的问题是关于 SQL 语法错误,所以 obdiag 并不适合直接解决这个问题。不过,我们可以尝试通过收集 SQL 执行错误的相关日志来进一步分析问题的原因。

日志采集场景: SQL 执行出错
日志采集命令: obdiag gather scene run --scene=observer.sql_err --env “{db_connect=’-h127.0.0.1 -P2881 -utest@test -p****** -Dtest’, trace_id=‘Yxx’}”

请执行上述命令并提供收集到的日志,我们将基于这些日志进行更深入的分析。

此外,为了能够更准确地帮助您解决问题,请回答以下几个问题:

  1. 您使用的 OceanBase 版本是什么?
  2. 您能否提供执行授权和 FLUSH PRIVILEGES 命令的具体 SQL 语句?
  3. 在执行 FLUSH PRIVILEGES 命令之前,您是否对权限进行了修改?如果进行了修改,请详细说明。
  4. 您是否尝试过其他方式来使权限生效,例如重新登录数据库用户?
  5. 您能否提供错误信息的完整内容,包括错误码和错误消息?
  6. 您的 OceanBase 实例是以何种模式启动的(例如,MySQL 模式或 Oracle 模式)?

以上信息将有助于我们更好地理解您的环境及问题,从而提供更有效的解决方案。

附上敏捷诊断工具 obdiag 使用帮助链接

你好,你提的这个技术问题牵涉到OceanBase企业版范围内的功能细节;针对此类问题,建议你通过以下方式寻求帮助:

  1. 如你所在的企业客户已签署OceanBase企业版销售合同,请你联系客户经理;

  2. 如你所在的企业客户尚未签署OceanBase企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。

另外,我们欢迎你使用社区版,并在论坛/社群中分享你对社区版本的想法、经验和问题,与其他社区成员共同交流。