Mysql migrar db enorme de innodb para ndbcluster Err: a tabela está cheia

1

Estou tentando migrar o banco de dados antigo para o cluster mysql (4 nós de dados) usando o comando:

ALTER TABLE sample ENGINE=NDBCLUSTER

mas estou recebendo o seguinte erro:

The table '#sql-7ff3_3' is full

Existem aproximadamente 300 mil linhas nesta tabela. Aqui está o meu arquivo de configuração:

/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
    
por Nguyen Trong Nhan 09.10.2012 / 11:29

1 resposta

1

Parece que a tabela temporária necessária para concluir esta ação é o que está cheio, sem dúvida porque você não tem memória suficiente para isso. Modificar uma tabela com essa quantidade de dados não é realmente uma boa ideia devido ao tempo e aos recursos necessários. Seria melhor despejar (exportar) a tabela, criar uma nova com suas especificações desejadas e carregar os dados de volta.

    
por 09.10.2012 / 11:46