2011-09-16

Mysql Clusterを使っていてalter tableしたらerrno: 136が出た

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

Mysql Clusterを利用しているテーブルに変更を加えようとしたら、

Can't create table 'xxx.#sql-47_29' (errno: 136)

とエラーが出て変更ができませんでした。

エラーが出た直後に

show warnings

とすると


Got error 904 'Out of fragment records (increase MaxNoOfOrderedIndexes)' from NDB
Can't create table 'xxx.#sql-47_29' (errno: 136)

と言われましたので、MaxNoOfOrderedIndexesを増やすことにしました。

MaxNoOfOrderedIndexesを記述する場所は、config.iniです。

私の環境では
/var/lib/mysql-cluster/config.ini
にあります。

[NDBD default]エントリに
MaxNoOfOrderedIndexes=1024
を追加しました。

その後、ndb_mgmdを再起動するわけですが、以下のように--initialをつけないと設定が反映されませんでした。

service ndb_mgmd stop
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

念のためndbdも以下のような感じで再起動しておきました。

service ndbd stop
service ndbd start

これでエラーがちゃんと消えましたのです。

コメントを投稿