mysql ndb alter table失败,无法删除索引

时间:2018-07-05 00:42:00

标签: mysql mysql-cluster

  

用例:

当开发人员推送代码进行审查时,我们将运行Jenkin作业。该工作将验证junit和声纳检查,我们计划针对NDB服务器添加liquibase验证。因为我们有三个Jenkins节点,所以我们创建了三个模式,因此它不是阻塞程序。

  

Mysql NDB设置

在虚拟机,4个VCPU和8GB ram上使用docker设置mysql ndb集群。此设置包含2个sql节点,2个数据节点和2个管理器节点。

CREATE DATABASE IF NOT EXISTS test1 DEFAULT CHARACTER SET 'utf8' DEFAULT COLLATE 'utf8_general_ci';
CREATE DATABASE IF NOT EXISTS test2 DEFAULT CHARACTER SET 'utf8' DEFAULT   COLLATE 'utf8_general_ci';
CREATE DATABASE IF NOT EXISTS test3 DEFAULT CHARACTER SET 'utf8' DEFAULT COLLATE 'utf8_general_ci';

DataMemory                  = 700M
IndexMemory                 = 256M
MaxNoOfTables               = 4000
MaxNoOfOrderedIndexes       = 700
MaxNoOfAttributes           = 5000
  

问题:

相同的Liquibase在前两个模式上成功运行,但在第三个模式上失败。 检查日志没有发现任何问题/错误的迹象。 无法删除索引“ xxxxxx”:在外键约束中需要

请帮助

谢谢

1 个答案:

答案 0 :(得分:0)

您试图以某种方式删除外键中涉及的索引 关系。当您尝试更改 使用复制ALTER TABLE的表,因为这将重新创建表 因此都会删除并添加索引。