2

次のコマンドを使用して、古いデータベースを 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
4

1 に答える 1

1

一時テーブル (num_rows、ディスク領域、またはテーブル領域) の制限に達しました。

'MAX_ROWS=1000000000' を変更テーブルに追加してみてください。

「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 Cluster テーブルスペースとログ ファイル グループはファイルとして実装されません。CREATE/ALTER TABLESPACE を使用して十分なスペースを割り当てましたか? http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-disk-data-objects.html

于 2012-11-23T09:38:32.120 に答える