You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解决Cloud SQL中show engine innodb status查询截断问题

解决Google Cloud SQL中InnoDB死锁日志SQL截断的方案

针对你在Google Cloud SQL上使用show engine innodb status排查死锁时,SQL语句被截断至903字符的问题,可通过以下几种方式获取完整查询:

  • 启用查询日志捕获完整SQL
    在Cloud SQL的实例参数组中开启慢查询日志(或通用查询日志):

    • 开启slow_query_log=ON,若要捕获所有查询,设置long_query_time=0
    • 配置完成后,通过Google Cloud Logging查看日志,根据死锁信息中的query id(如示例中的100492071)匹配对应的完整SQL语句
  • 利用Performance Schema查询完整语句
    若Cloud SQL支持Performance Schema(需先在参数组中开启performance_schema=ON),可通过线程ID或查询ID获取完整SQL:

    SELECT SQL_TEXT FROM performance_schema.events_statements_history 
    WHERE THREAD_ID = 1025545 
    ORDER BY EVENT_ID DESC LIMIT 1;
    

    其中THREAD_ID为死锁日志中给出的MySQL线程ID(如示例中的1025545)

  • 调整InnoDB状态输出长度参数
    检查Cloud SQL实例的innodb_status_output_length参数,该参数控制InnoDB状态报告的最大输出长度。若当前值较小,可在参数组中调大该值(如设置为8192),重启实例后生效

  • 从Hibernate应用层日志获取
    在Hibernate配置中开启SQL日志记录:

    • 设置hibernate.show_sql=true,或通过日志框架(如SLF4J)配置org.hibernate.SQL为DEBUG级别
      这样应用日志会输出Hibernate生成的完整SQL语句,对应死锁中的更新操作

内容的提问来源于stack exchange,提问作者Burton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 05:14:55