これら2つの設定以上のものが必要です...
SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_file_per_table=ON;
SET GLOBAL innodb_large_prefix=1;
logout & login (to get the global values);
ALTER TABLE tbl ROW_FORMAT=DYNAMIC; -- or COMPRESSED
おそらく必要なのは、ROW_FORMAT=...
を追加することだけです。 CREATE TABLE
。
これらの手順は、5.6.3から5.7.7までに必要です。 5.7.7以降、システムはデフォルトで正しくデフォルト設定され、より大きなフィールドを処理します。
または、「プレフィックス」インデックスを使用することもできます:
INDEX(column(191))
(ただし、プレフィックスのインデックス作成には多くの点で欠陥があります。)
「サーバーが後でより高いテーブル形式を作成する場合、innodb_file_format_maxはその値に設定されます」は、その設定が問題ではないことを意味します。