LINUX.ORG.RU
решено ФорумAdmin

ошибка заливки базы mysql

 , ,


0

1

Замучался уже.
Собственно делаю
cat openfire_mysql.sql | mysql openfire
ругается:
ERROR 1071 (42000) at line 126: Specified key was too long; max key length is 767 bytes

ок. нагугливаем, правим значение
jid VARCHAR(1024) NOT NULL,
(62 строка) до 255.
грохаем&создаём базу drop database openfire;

всё равно ругается!
ERROR 1071 (42000) at line 126: Specified key was too long; max key length is 767 bytes

Собственно, вот 126 строка:

CREATE TABLE ofExtComponentConf (

ничего вразумительного. СОС.

Ответ на: комментарий от darkenshvein

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

ххах. теперь тут встряло.
вот этот кусок:

CREATE TABLE ofRemoteServerConf (
  xmppDomain            VARCHAR(255)    NOT NULL,
  remotePort            INTEGER,
  permission            VARCHAR(10)     NOT NULL,
  PRIMARY KEY (xmppDomain)
);/
уменьшать значение xmppDomain до 191 ?

darkenshvein ★★★★★ ()
Последнее исправление: darkenshvein (всего исправлений: 1)
Ответ на: комментарий от darkenshvein

В принципе, если в этих таблицах не планируется данных в юникоде, то где-нибудь в начале дампа можно было поставить SET NAMES ascii. Скорее всего авторы не думали, что у кого-то будет UTF8 по дефолту.

Deleted ()
Ответ на: комментарий от Deleted

Скорее всего авторы не думали, что у кого-то будет UTF8 по дефолту.

Скорее всего авторы просто не думали. varchar-ы дык еще и в составных ключах...это конечно супер.

anc ★★★★★ ()

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

Набираем указанную строчку в Гугле, идем по первой же ссылке и получаем ответ :)

https://stackoverflow.com/questions/1814532/1071-specified-key-was-too-long-m...

Число 767 вылезает вот отсюда:

https://dev.mysql.com/doc/refman/8.0/en/create-index.html#create-index-column...

Column Prefix Key Parts

For string columns, indexes can be created that use only the leading part of column values, using col_name(length) syntax to specify an index prefix length ...
Prefix support and lengths of prefixes (where supported) are storage engine dependent. For example, a prefix can be up to 767 bytes long for InnoDB tables that use the REDUNDANT or COMPACT row format...

vinvlad ()