触发器创建失败

【 使用环境 】测试环境
【 OB or 其他组件 】ob cloud mysql租户
【 使用版本 】V4.3
【问题描述】创建触发器提示:失败原因:
ErrorCode = 1142, SQLState = 42000, Details = TRIGGER command denied to user ‘tommy’@’%’ for table ‘ls_ble_array_calib’
但tommy这个账号已经是超级账号了

【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

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

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

2 个赞

根因分析场景: DDL失败
根因分析命令: obdiag rca run --scene=ddl_failure
日志采集场景: SQL执行出错
日志采集命令: obdiag gather scene run --scene=observer.sql_err --env “{db_connect=’-h127.0.0.1 -P2881 -utommy@mysql -p****** -Dtest’, trace_id=‘Yxx’}”

推荐使用 obdiag 工具进行根因分析和日志采集,以便确认问题所在。上述命令将帮助您收集与SQL执行错误相关的日志信息,并对DDL失败的场景进行深入分析。

麻烦您提供一些信息以便我们更好地帮助您:(下面提出几个问题)

  1. 用户tommy的具体权限设置是什么?能否提供SHOW GRANTS FOR 'tommy'@'%';的结果?
  2. 创建触发器的完整SQL语句是什么?
  3. 是否在其他表上成功创建过触发器?如果有,请提供成功的例子。
  4. 当前租户是否启用了任何安全策略或权限限制插件?
  5. 错误发生时,是否有其他并发操作正在执行?

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

2 个赞

看看是不是授权问题 grant trigger on *.* to ‘tommy’@’%’;

1 个赞

触发器的语句发一下