繁体   English   中英

MySQL将巨大的数据库从innodb迁移到ndbcluster err:表已满

[英]Mysql migrate huge db from innodb to ndbcluster err: the table is full

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

ALTER TABLE sample ENGINE=NDBCLUSTER

但出现以下错误:

The table '#sql-7ff3_3' is full

该表中大约有3亿行。 这是我的配置文件:

/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

您达到了临时表num_rows,磁盘空间或表空间的限制。

尝试将“ MAX_ROWS = 1000000000”添加到您的更改表中。

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

然后查看“ tmp_table_size”的值。 http://dev.mysql.com/doc/refman/5.5/zh-CN/server-system-variables.html#sysvar_tmp_table_size如果无法进一步增加,请在http://dev.mysql.com/doc/中进行挖掘refman / 5.5 / zh-CN / table-size-limit.html

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM