IoT

Solusi 1071 – Specified key was too long; max key length is 1000 bytes

Dapat masalah dari mbak Intan soal pemulihan backup database MySQLnya. Tampaknya bukan CMS standar atau ini migrasi rakyatnesia database server berbeda, enginennya atau versinya saja yang lain. Yang pasti ada kode errornya 1071 - Specified key was too long; max key length is 1000 bytes dan ini akan sangat membantu dalam troubleshootingnya.

Pesan kesalahan lengkapnya adalah seperti berikut:

--
-- Table structure for table `ps_translation`
--

CREATE TABLE IF NOT EXISTS `ps_translation` (
  `id_translation` int(11) NOT NULL AUTO_INCREMENT,
  `id_lang` int(11) NOT NULL,
  `key` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `translation` longtext COLLATE utf8_unicode_ci NOT NULL,
  `domain` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `theme` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`id_translation`),
  UNIQUE KEY `theme` (`key`,`theme`,`id_lang`,`domain`),
  KEY `IDX_ADEBEB36BA299860` (`id_lang`),
  KEY `key` (`domain`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;


1071 - Specified key was too long; max key length is 1000 bytes

Intinya karena primary keynya terlalu panjang, lebih dari batas default MyISAM sebesar 1000 byte untuk indeksnya.

Solusi yang saat ini terpikirkan adalah dengan mengganti database enginenya ke InnoDB (yang sejak versi MySQL 5.7 keatas nilainya jadi 3072 byte, versi lamanya cuma 767 byte):

Related Articles
set GLOBAL storage_engine='InnoDb'

Kemudian silahkan coba impor databasenya lagi.

Apabila masih bermasalah coba ini juga:

set GLOBAL innodb_large_prefix=on;

Sekian. Semoga lancar restorenya. 🙂

moch akbar fitrianto

Jurnalis Dari Rakyatnesia.com Dan Sudah di dunia jurnalistik selama lebih dari 10 tahun. Tulisan berita Lamongan, umum, prediksi bola , dan profil sudah bukan hal asing lagi, Lugas dengan Fakta.

Related Articles

Check Also
Close
Back to top button