准备把以前的非集群版MySQL数据导入到MySQL Cluster中,出现

'No more attribute metadata records (increase MaxNoOfAttributes)' from NDBCLUSTER 

的错误,如下图所示:(注:数据表引擎已改为 ENGINE=ndbcluster

 MySQL Cluster导入数据表时报错:Got error 708

 

【解决方案】

修改 MGM节点配置,把 [ndbd]中的 “MaxNoOfAttributes=1000”改成 “MaxNoOfAttributes=5000000”:

vim /usr/local/mysql/etc/config.ini

#部分资料参考如下:

[ndbd default]
NoOfReplicas = 2
DataMemory = 80M
IndexMemory = 18M
datadir = /usr/local/mysql/data

MaxNoOfTables = 1024
MaxNoOfAttributes = 5000000
MaxNoOfOrderedIndexes = 10000

#修改了配置文件后,需要添加--initial参数重新读取才行

/usr/local/mysql/bin/ndb_mgmd  -f  /usr/local/mysql/etc/config.ini --initial

#查看变量修改是否生效

[root@localhost bin]# /usr/local/mysql/bin/ndb_config -q MaxNoOfAttributes
   5000000 5000000

注:如果加了 --initial 参数,还是没生效的话,那就先 kill掉ndb_mgm,再重新 --initial 启动 ndb_mgmd 吧!

 

参数说明】 MaxNoOfAttributes 表示 MySQL Cluster集群中,所有数据表的字段总数能达到的上限!

 

 

参考:

Mysql Cluster MaxNoOfAttributes参数无效疑问

MySQL Cluster 配置文件(config.ini)详解