准备把以前的非集群版MySQL数据导入到MySQL Cluster中,出现
'No more attribute metadata records (increase MaxNoOfAttributes)' from NDBCLUSTER
的错误,如下图所示:(注:数据表引擎已改为 ENGINE=ndbcluster)
【解决方案】
修改 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集群中,所有数据表的字段总数能达到的上限!
参考: