首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql将大型db从innodb迁移到ndbcluster :表已满

Mysql将大型db从innodb迁移到ndbcluster :表已满
EN

Server Fault用户
提问于 2012-10-09 09:29:08
回答 1查看 1.9K关注 0票数 1

我试图使用命令将旧数据库迁移到mysql集群(4个数据节点):

代码语言:javascript
复制
ALTER TABLE sample ENGINE=NDBCLUSTER

但我得到了以下错误:

代码语言:javascript
复制
The table '#sql-7ff3_3' is full

这张桌子上大约有3亿行。下面是我的配置文件:

代码语言:javascript
复制
/mysql-cluster/config.ini
[NDBD DEFAULT]
NoOfReplicas=2
DataDir=/data/mysql-cluster/ndb/
BackupDataDir=/data/mysql-cluster/backup/
DataMemory=10G
IndexMemory=5G
TimeBetweenLocalCheckpoints=6
FragmentLogFileSize=256MB
NoOfFragmentLogFiles=50
MaxNoOfOrderedIndexes=8000
MaxNoOfConcurrentOperations=100000
MaxNoOfTables = 10000
RedoBuffer=128M
MaxNoOfAttributes=5000
MaxNoOfUniqueHashIndexes=1024

/etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql-cluster/mysqld/
event_scheduler=on
default-storage-engine=ndbcluster
ndbcluster
ndb-connectstring=192.168.x.x,192.168.x.x
innodb_file_per_table
innodb_buffer_pool_size = 512MB
key_buffer = 512M
key_buffer_size = 512M
sort_buffer_size = 512M
table_cache = 1024
read_buffer_size = 512M
EN

回答 1

Server Fault用户

回答已采纳

发布于 2012-10-09 09:46:59

完成此操作所需的临时表似乎已经满了,这无疑是因为您没有足够的内存。使用这么多的数据修改表并不是一个好主意,因为这需要时间和资源。最好转储(导出)表,用您想要的规范创建一个新的表,并将数据加载回。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/436322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档