我试图通过使用命令迁移旧的数据库到MySQL集群(4个数据节点):
ALTER TABLE sample ENGINE=NDBCLUSTER
但我收到以下错误:
The table '#sql-7ff3_3' is full
这张桌子里有大约三百万行。 这是我的configuration文件:
/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.xx,192.168.xx 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
看来完成这个动作所需要的临时表是完整的,毫无疑问,因为你没有足够的内存。 用这些数据修改表格并不是一个好主意,因为需要时间和资源。 最好转储(导出)表格,用你想要的规格创build一个新的表格并加载数据。