3

我们正在运行 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)

有人有想法吗?

4

1 回答 1

1

好的 - 我们明白了!

已到达MaxNoOfTriggersconfig.ini的内容。

官方文档 - > MaxNoOfTriggers

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

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

该参数设置集群中触发对象的最大数量。

默认值为 768。

于 2014-06-25T11:00:44.253 回答