最近ブログさぼっていたonagataniです。実はMTの記事じゃなくてMySQL側の話なんですが、ディレクターさんとかデザイナーさんではまった人がいるかもしれないので簡単に記事にしておきました。以下のメッセーが記事登録時に表示されたら今回の記事で修正可能です。8126)これは何かをいうと、インプットされたデータが大きすぎだよ、というエラーです。端的に言うと可変長カラムが多すぎ。TypeではデータベースにMySQLを使用している人がほとんどだと思いますが、ストレージエンジンは何を使用していますか?MyISAMでしょうか、InnoDBでしょうか、AWSのRDSだとMultiAZするにはInnoDB使わないとダメだったりするのでInnoDBに移行している人が増えてきていると思いますが、InnoDBは標準のまま使用していると1レコードあたり最大サイズ8KBの制限があります。MyISAMは64KBだったのでInnoDBに気軽に変更すると上記のようなエラーに遭遇する可能性が高くなります。可変長カラムに日本語なら255文字以上入力されたカラムが11カラムあると8kbを超えてエラーになります。MTでは先ほど確認したところ11カラム以上あるので、可能性としてありえるわけです。プラグインなどを大量に入れていると可能性がぐっと上がりますね。修正方法は簡単でエラーメッセージと一緒にMySQLが教えてくれます。ROW_FORMAT=COMPRESSEDテーブルのROW_FORMATをCompactから変更しろって事ですね。DYNAMIC;で、変更できますが、実はすぐにはできません。DYNAMICやCOMPRESSEDはInnoDBのファイルフォーマットBarracudaの機能なのでデフォルトのAntelopeから変更する必要があります。これはmy.cnf等で以下を設定する必要があります。Barracuda;などで変更可能なようです(僕は再起動しちゃいました)。Tableを実行してください。これで8kbの制限が解除されたかと思いますので存分にブログ記事がかけますね。いう事で安易にInnoDBに変更すると死ぬよというお話でした。>プロフィールonagatani@onagatani札幌在住のインフラ・サーバサイドエンジニアです。スープカレーと活イカが好物です。