Posted at

innodb_large_prefix

More than 5 years have passed since last update.

MySQL でインデックスを指定するときに、

ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes

というエラーが出ることがある。

これを避けるには、 innodb_large_prefix を使う。

具体的には、下記の設定をする。

[mysqld]

innodb_large_prefix
innodb_file_per_table
innodb_file_format=barracuda

innodb_file_per_table と innodb_file_format=barracuda は innodb_large_prefix を使うために必要な設定。

http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_large_prefix

参考

http://bugs.mysql.com/bug.php?id=68453