Datenbankupload nur teilweise Datenbankupload nur teilweise
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Datenbankupload nur teilweise

Started by Don-Duracell, October 01, 2006, 08:35:12 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Don-Duracell

Ich bin leider dazu gezwungen den Hoster zu wechseln. Nun wollte ich die MySQL Datenbank (dort ist es eine MySQL 4) zu dem neuen Host übertragen (MySQL 5). Exportiert mit Zeichencodierung latin1 und importiert mit identischem und dem SQL-Kompatibilitätsmodus MYSQL40.
Hierbei werden von 20 Tabellen nur die ersten 12 übertragen danach heißt es "The server encountered an internal error or misconfiguration and was unable to complete your request." Ich nutze ein aktuelles Standard Coppermine und ab der Tabelle cpg132_pictures bis zur letzten cpg_132_votes erhalte ich diese Meldung.

Andere Tabellen (von meinem phBB Foren) konnten auf die oben beschriebene Weise übertragen werden. Anregungen und Lösungshinweise sind gerne gesehen. Danke.
Live long and prosper...

Don-Duracell

Joachim Müller

QuoteThe server encountered an internal error or misconfiguration and was unable to complete your request.
alias "500 internal server error" ist genau das, was der Name aussagt: ein interner Fehler, bei dem man leider nicht genau erfährt, was schief gelaufen ist. Sozusagen das Schweizer Taschenmesser unter den Fehlermeldungen. Beste Möglichkeit zu sehen, was in die Hose geht wäre, einen Blick auf die Server-Logs zu werfen (wenn Du Zugriff darauf hast). Um einzugrenzen, was genau in die Hecke geht kannst Du auch alternativ den Restore häppchenweise machen - anscheinend scheint die 13te Tabelle der Bösewicht zu sein - checke mal, welche das ist.

lamama

Quotewas unable to complete your request
Vll. ein timeout problem beim Upload?
Wenn ja: ggf. die Datenbank in kleine Häppchen zerlegen und tabellenweise restoren.

Don-Duracell

Also es handelt sich nur um die Tabelle cpg132_pictures. Alle anderen ließen sich häppchenweise importieren. Ob ich die einzelne Tabelle meinem Hoster schicken soll mit den Worten "Mach mal!"?
Live long and prosper...

Don-Duracell

rehmaster

Oft ist es auch nur ein einfacher Zeichensatzfehler! Hab das Problem schön öfter gehabt! Schau dir den SQL-DUMP mal genau an und schau, ob da eine nicht konforme Stelle ist! Notfalls poste den doch mal hier!

Don-Duracell

Quote from: rehmaster on October 04, 2006, 01:10:08 PM
Oft ist es auch nur ein einfacher Zeichensatzfehler! Hab das Problem schön öfter gehabt! Schau dir den SQL-DUMP mal genau an und schau, ob da eine nicht konforme Stelle ist! Notfalls poste den doch mal hier!

Da für mich der gesamte Zeichensalat der da steht unverständlich ist bin ich leider nicht in der Lage zu sagen welche Stelle nicht konform sein könnte.
Ich poste mal einen Screenshot dieser Tabelle vielleicht ist daraus ja für findigere Leute etwas ersichtlich.

http://www.feuchtmacher.de/defwin/cpg132_pictures.jpg
Live long and prosper...

Don-Duracell

Joachim Müller

Das ist die Struktur-Ansicht der Tabelle, die bringt wenig bis nix.

Was rehmaster gemeint hat ist, dass es oft zu Fehlern kommt, wenn die Sonderzeichen (vor allem Hochkomma und "Backtick") nicht richtig "escaped" werden. Das bedeutet: wenn in einem Deiner Textfelder folgender Text vorkommt: "This is Peter's dog", dann sieht der entsprechende Eintrag im Dump in etwa so aus (verkürzt):INSERT INTO `cpg140_pictures` VALUES (1, 1, 'userpics/10001/', 'Beispiel.jpg', [...], 'This is Peter's dog', [...]);Wie Du siehst werden die einzelnen Felder durch Hochkommas begrenzt; das Feld endet also scheinbar nach dem Wort "Peter" und das nachfolgende "s dog'" wird als mySQL-Kommando interpretiert, was natürlich zu Fehlern und damit einem Abbruch führt. Deswegen müssen Hochkommas und Backticks mit entsprechenden "Schlüsselzeichen" versehen werden, die dann MySQL erklären: hier kommt nicht das Ende des Felds, sondern ein Hochkomma als Textbestandteil.
Sauberes Escapen erreicht man am besten, indem man die entsprechenden Optionen gleich bei der Erstellung des Dumps mitgibt.
Soweit die Theorie, jetzt kommt die konkrete Vorgehensweise: wenn Du noch Zugriff auf die Datenbank des alten Webhosts hast, dann erstelle dort mit phpMyAdmin einen erneuten Dump und wähle dort die Option "Erweiterte 'INSERT's" - das hat zur Folge, dass das Hochkomma (') in sein Unicode-Äquivalent (') umgewandelt wird.

Don-Duracell

Ich hatte alle Dumps mit den Optionen "Vollständige 'INSERT´s" & "Erweiterte 'INSERT´s" exportiert.
Eben gerade es mal nur mit den "Erweiterten 'INSERT´s" versucht immernoch der eingangs erwähnte Fehler.  :-\
Live long and prosper...

Don-Duracell

Joachim Müller

OK, dann müssen wir der Sache im Detail auf den Grund gehen: mache wie eingangs erwähnt den Restore Häppchenweise, um herauszufinden, wo es hakt (zur Not mit Copy&Paste einiger Query-Blöcke in das SQL-Feld). Poste mal den Datensatz, bei dem es hakt.

Joachim

Stramm

Der dump ist evtl. einfach nur zu groß um ihn wieder hochzuladen???

Don-Duracell

#10
@GauGau: Den Dump habe ich schon bis auf die Tabelle (Datensatz) cpg132_pictures in die neue Mysql Datenbank importiert hat alles wunderbar geklappt. Es liegt wirklich nur an dieser einen Tabelle (Datensatz). Und die einzelnen Zeilen dieser Tabelle (Datensatz) kann ich scheinbar nicht seperat exportieren. Der Screenshot den ich gemacht hatte war von eben dieser einen problembereitenden Tabelle.

@Stramm: Also der exportierte Dump der Tabelle cpg132_pictures ist gezippt 65kb groß das dürfte es nun wirklich nicht sein.

Soll ich mal die problembehaftete Tabelle (Datensatz) hier mit anhängen?

Live long and prosper...

Don-Duracell

Don-Duracell

Ich will ja nicht drängeln aber ich habe quasi nur noch bis Freitag kommender Woche Zeit da ich dann beruflich nach Italien muss und daher bis zu diesem Zeitpunkt der Umzug abgeschlossen sein sollte. Auch muss ich dann ja die KK Anträge stellen da Ende des Monats der Hoster dicht macht.
Live long and prosper...

Don-Duracell

Don-Duracell

Was macht überhaupt dieser Teil der Datenbank?
Vom Namen her müsste dies der Bereich sein in dem die einzelnen Pfade zu den Bildern hinterlegt sind. Wenn ich also alle Bilder seperat wieder einpflege wäre er dann die Gallerie auch auf dem Stand des anderen Hosters?
Live long and prosper...

Don-Duracell

Joachim Müller

Ja, die Tabelle "Pictures" enthält die Daten zu den einzelnen Bilder (Pfade, Dimensionen etc.).
Ich empfehle so vorzugehen wie oben geraten und die Datensätze abschnittweise (z.B. 100 Stück pro Vorgang) mit Copy&Paste in das SQL-Feld von phpMyAdmin einzufügen und dann das Formular zu senden.

Don-Duracell

Also ich hab es leider nicht mehr zeitlich geschafft das ganze hinzubekommen. Bin nun halt dazu übergegangen die Gallery neu aufzusetzen. Trotzdem danke für die Hilfe.
Live long and prosper...

Don-Duracell