1

I'm trying to migrate old database to mysql cluster (4 data nodes) by using command:

ALTER TABLE sample ENGINE=NDBCLUSTER

but I'm getting the following error:

The table '#sql-7ff3_3' is full

There are approximately 300 mil rows in this table. Here are my config file:

/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

1 Answer 1

1

It appears the temporary table needed to complete this action is what is full, no doubt because you don't have enough memory for it. Modifying a table with that amount of data is not really a good idea because of the time and resources required. It would be better to dump (export) the table, create a new one with your desired specs and load the data back in.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .