MySql Error (Specified key was too long; max key length is 1000 bytes)

Discuss your pilot or production implementation with other Zimbra admins or our engineers.
Post Reply
fviero
Advanced member
Advanced member
Posts: 64
Joined: Fri Sep 12, 2014 10:37 pm

MySql Error (Specified key was too long; max key length is 1000 bytes)

Post by fviero »

Hi there
I have quite a few corrupted mboxgroups inside Zimbra´s MySQL and i´m following the procedure outlined HERE to try to recover them.
I did that in the past and it worked fine. Now i´m facing a problem with a Zimbra 7.1.4 installation, CentOS 5.7 64bits.
When running this step:
mysql zimbra
I´m getting this error:
ERROR 1071 (42000) at line 741: Specified key was too long; max key length is 1000 bytes
Line 741 says:
--

-- Table structure for table `scheduled_task`

--
/*DROP TABLE IF EXISTS `scheduled_taskk`; */

/*!40101 SET @saved_cs_client = @@character_set_client */;

/*!40101 SET character_set_client = utf8 */; CREATE TABLE `scheduled_task` (

`class_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,

`name` varchar(255) NOT NULL,

`mailbox_id` int(10) unsigned NOT NULL,

`exec_time` datetime DEFAULT NULL,

`interval_millis` int(10) unsigned DEFAULT NULL,

`metadata` mediumtext,

PRIMARY KEY (`name`,`mailbox_id`,`class_name`),

KEY `i_mailbox_id` (`mailbox_id`),

CONSTRAINT `fk_st_mailbox_id` FOREIGN KEY (`mailbox_id`) REFERENCES `mailbox` (`id`) ON DELETE CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*!40101 SET character_set_client = @saved_cs_client */;
--

-- Dumping data for table `scheduled_task`

--
If i change the "PRIMARY KEY" line to have only two fields for primary key, the statement works.
Any clues?
Thanks!!!
shanxt
Posts: 35
Joined: Sat Sep 13, 2014 2:41 am

MySql Error (Specified key was too long; max key length is 1000 bytes)

Post by shanxt »

Could you post your /opt/zimbra/conf/my.cnf file, as well as the logs when the dump was restored?
You could try running /opt/zimbra/libexec/zmmyinit, but this will delete EVERYTHING, including my.cnf and all databases, so use with caution. It will restore my.cnf to its original state, which I think could be required here.
Post Reply