首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql将巨型数据库从innodb迁移到ndbcluster错误:表已满

Mysql将巨型数据库从innodb迁移到ndbcluster错误:表已满
EN

Stack Overflow用户
提问于 2012-10-09 16:34:40
回答 1查看 2.3K关注 0票数 2

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

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

但是我得到了以下错误:

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

该表中大约有300mil行。下面是我的配置文件:

代码语言: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

Stack Overflow用户

发布于 2012-11-23 17:38:32

临时表达到限制,可能是num_rows、磁盘空间或表空间。

尝试将'MAX_ROWS=1000000000‘添加到alter table。

检查“tmpdir”是否指向具有足够空间的磁盘。

然后看看'tmp_table_size‘的值。http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_tmp_table_size如果您不能进一步增加,请深入研究http://dev.mysql.com/doc/refman/5.5/en/table-size-limit.html

最后,MySQL集群表空间和日志文件组不是作为文件实现的。您是否使用CREATE/ALTER TABLESPACE分配了足够的空间?http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-disk-data-objects.html

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

https://stackoverflow.com/questions/12795967

复制
相关文章

相似问题

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