Page 1 of 1

s9y und phpmyadmin/MySQL Problem beim import

Posted: Tue Aug 24, 2010 7:52 pm
by localhorst
Hallo Forum,
bei meinem Problem bin ich mir nicht sicher, ob es s9y spezifisch ist oder ob es an mysql/phpmyadmin liegt.
Datenbankbackups, die ich über phpmyadmin rückspielen will, liefern mir immer folgende Fehlermeldung:

Code: Select all

Fehler

SQL-Befehl:

CREATE TABLE `serendipity_exits` (
`entry_id` int( 11 ) NOT NULL default '0',
`day` date NOT NULL ,
`count` int( 11 ) NOT NULL default '0',
`scheme` varchar( 5 ) COLLATE utf8_unicode_ci default NULL ,
`host` varchar( 128 ) COLLATE utf8_unicode_ci NOT NULL ,
`port` varchar( 5 ) COLLATE utf8_unicode_ci default NULL ,
`path` varchar( 255 ) COLLATE utf8_unicode_ci NOT NULL default '',
`query` varchar( 255 ) COLLATE utf8_unicode_ci default NULL ,
PRIMARY KEY ( `host` , `path` , `day` , `entry_id` ) ,
KEY `exits_idx` ( `entry_id` , `day` , `host` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci;

MySQL meldet: Dokumentation
#1071 - Specified key was too long; max key length is 1000 bytes 
Danach habe ich lediglich 10 Tabellen in der Datenbank drin, wobei die ersten 9 eine utf8_unicode_ci Kollation haben und die 10. Tabelle latin1_swedish_ci.

Kann mir jemand bei der Problembeseitigung helfen? Das ist für mich sehr kritisch, da ich im Notfall so momentan nichts ordentlich rückspielen kann.

> MySQL 5.1
> phpMyAdmin 3.2.4
> Serendipity 1.5.3

Besten Dank im Voraus!

Re: s9y und phpmyadmin/MySQL Problem beim import

Posted: Wed Aug 25, 2010 1:55 pm
by garvinhicking
Hi!

Hm, das kann womöglich an Collationsettings liegen die ursprünglich anders waren oder wo PMA beim export die Key lenghts nicht gespeichert hat.

Im Dump kannst Du das anpassen wenn Du z.b.:

Code: Select all

PRIMARY KEY ( `host` , `path`(128) , `day` , `entry_id` ) ,
nimmst...?

Grüße,
Garvin

Re: s9y und phpmyadmin/MySQL Problem beim import

Posted: Fri Aug 27, 2010 4:04 pm
by localhorst
Ok, das scheint zu gehen. Allerdings muckt er weiter:

Code: Select all

Fehler

SQL-Befehl:

CREATE TABLE `serendipity_permalinks` (
`permalink` varchar( 255 ) COLLATE utf8_unicode_ci NOT NULL default '',
`entry_id` int( 10 ) unsigned NOT NULL default '0',
`type` varchar( 200 ) COLLATE utf8_unicode_ci NOT NULL default '',
`data` text COLLATE utf8_unicode_ci,
KEY `pl_idx` ( `permalink` ) ,
KEY `ple_idx` ( `entry_id` ) ,
KEY `plt_idx` ( `type` ) ,
KEY `plcomb_idx` ( `permalink` , `type` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci;

MySQL meldet: Dokumentation
#1071 - Specified key was too long; max key length is 1000 bytes
Momentan habe ich leider noch keine Ahnung von den SQL Ausgaben und bin deshalb etwas am schwitzen :?

Re: s9y und phpmyadmin/MySQL Problem beim import

Posted: Fri Aug 27, 2010 4:58 pm
by garvinhicking
Hi!

Du kannst auch bei anderen Keys mittels (zahl) kürzen; hier in dem fall würde ich beim key das type(128) setzen.

Die Keys sind meist großzügig gesetzt; mit mysql's UTF-16 speicherung vervierfacht sich leider der keybedarf, die gründe dafür hab ich noch nicht so genau recherchiert...ist leider auch erst seit neuen versionen so...

Re: s9y und phpmyadmin/MySQL Problem beim import

Posted: Fri Aug 27, 2010 5:16 pm
by localhorst
Vielen Dank für die Hinweise! Da fuchse ich mich nun mal intensiv rein :wink:

Re: s9y und phpmyadmin/MySQL Problem beim import

Posted: Fri Aug 27, 2010 5:58 pm
by localhorst
Ok,
serendipity_exits und serendipity_permalinks waren problematisch. In der permalink Tabelle habe ich noch

Code: Select all

KEY `plt_idx` ( `type` ) ,
und

Code: Select all

`permalink` varchar( 255 ) COLLATE utf8_unicode_ci NOT NULL default '',
auf 128 runterschrauben müssen, dann lief der restore endlich durch. Ich werde jetzt anstelle von PMA meine Tabellen mal mit xtdump durchlaufen lassen um die Schuldigkeit bei PMA ein- oder ausschließen zu können.
Vielen Dank nochmal für die Hilfe!