从NDBCLUSTER获得错误4239'具有给定名称的触发器已存在'

时间:2014-06-16 11:07:58

标签: mysql sql mysql-cluster database-cluster

我们正在运行MySQL群集版本:

mysql> SELECT VERSION();
+------------------------------+
| VERSION()                    |
+------------------------------+
| 5.6.15-ndb-7.3.4-cluster-gpl |
+------------------------------+

尝试创建表

CREATE TABLE xy (
  xa VARCHAR(36) NOT NULL DEFAULT '',
  xb VARCHAR(255) NOT NULL,
  xc TIMESTAMP NOT NULL,
  xd VARCHAR(36) DEFAULT NULL,
  xe VARCHAR(36) DEFAULT NULL,
  xf VARCHAR(255) DEFAULT NULL,
  xg VARCHAR(255) DEFAULT NULL,
  xh TEXT,
  xi BIGINT(20) DEFAULT NULL,
  xj VARCHAR(255) DEFAULT NULL,
  xk VARCHAR(255) DEFAULT NULL,
  xl VARCHAR(255) DEFAULT NULL,
  xz VARCHAR(255) DEFAULT NULL,
  xy VARCHAR(255) DEFAULT NULL, 
  PRIMARY KEY (xa)
) engine=ndb;

带我(使用命令行直接输入):

ERROR 1296 (HY000): Got error 4239 'Trigger with given name already exists' from NDBCLUSTER

并通过档案:

ERROR 1296 (HY000) at line 8: Got error 4239 'Trigger with given name already exists' from NDBCLUSTER

但是没有mysql触发器:

mysql> SHOW triggers;
Empty set (0.00 sec)

且没有表格:

mysql> show tables;
Empty set (0.01 sec)

有人有个主意吗?

1 个答案:

答案 0 :(得分:1)

好的 - 我们明白了!

已达到config.ini中的MaxNoOfTriggers

来自Official documentation -> MaxNoOfTriggers

  

为每个唯一哈希索引分配内部更新,插入和删除触发器。 (这意味着为每个唯一的哈希索引创建了三个触发器。)但是,有序索引只需要一个触发器对象。备份还为群集中的每个普通表使用三个触发器对象。

     

群集之间的复制也使用内部触发器。

     

此参数设置群集中的最大触发器对象数。

     

默认值为768。