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

WSO2 Identity Server 7版本运行MySQL NDB集群脚本报错求助

解决WSO2 Identity Server 7在MySQL NDB集群中执行数据库脚本的问题

问题1:IDV_CLAIM表外键约束创建失败(错误1296、1215)

原因

MySQL NDB集群存在硬性限制:当子表包含BLOB或TEXT类型列时,不允许外键约束配置ON DELETE CASCADE,这直接触发了外键创建失败的错误。

解决步骤

  • 打开<ISKM_CARBON_HOME>/dbscripts/identity/mysql-cluster.sql,定位到创建IDV_CLAIM表的语句
  • 移除该表外键定义中的ON DELETE CASCADE子句
  • 如果业务需要级联删除逻辑,可通过应用层代码实现,或创建符合NDB集群要求的触发器替代(注意NDB对触发器的支持有限,需提前测试)
  • 保存修改后的脚本,重新执行

问题2:创建API_ID_NAME_INDEX时提示SCOPE表不存在(错误1146)

原因

  • 脚本中创建索引的语句在SCOPE表的创建语句之前执行,导致索引创建时目标表未初始化
  • 脚本中指定的数据库名this_is_from_Node1与实际使用的数据库不匹配,或表名大小写不符合NDB集群的配置规则

解决步骤

  • 检查脚本中SCOPE表的创建位置,确保CREATE TABLE SCOPE语句在创建API_ID_NAME_INDEX索引的语句之前执行
  • 将脚本中的this_is_from_Node1.SCOPE替换为实际使用的WSO2 IS数据库名称
  • 查看NDB集群的lower_case_table_names配置,确保脚本中的表名大小写与集群配置一致(若配置为1,表名会自动转为小写,需将脚本中的SCOPE改为小写scope)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 18:39:57