When loading a sql dump into my mySQL 5.4 server, I get.

drush sqlc < /website.sql
ERROR 1071 (42000) at line 108015: Specified key was too long; max key length is 1000 bytes

Upon investigation, this is the email_wrapper table:

DROP TABLE IF EXISTS `email_wrappers`;

CREATE TABLE `email_wrappers` (
  `mid` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'mail id.',
  `module` varchar(255) NOT NULL COMMENT 'parent module',
  `delta` varchar(255) NOT NULL,
  `from_name` varchar(255) NOT NULL,
  `from_mail` varchar(255) NOT NULL,
  `recipients` text NOT NULL,
  `cc` text NOT NULL,
  `bcc` text NOT NULL,
  `subject` varchar(255) NOT NULL,
  `html_message` text COMMENT 'HTML version of the email message.',
  `html_message_format` varchar(50) NOT NULL COMMENT 'Input format',
  `text_message` text COMMENT 'Text version of the email message.',
  `extra` text COMMENT 'Extra settings defined by other modules.',
  PRIMARY KEY (`mid`),
  KEY `module_delta` (`module`,`delta`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Stores data for donation_form nodes.';

LOCK TABLES `email_wrappers` WRITE;

Apparently, this is about large prefixes for database table keys in INNODB: http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_inn...

Upgrading to mysql/mariadb 5.6 fixed this problem, and I also don't see this problem on my mysql 5.5 local install.

Comments

glass.dimly’s picture

Issue summary: View changes