(Update) Problem bei Umzug von MySQL4 auf MySQL5 Datenbank

phpBB 3.0 hat sein "End of Life" erreicht. Eine Neu-Installation wird nicht mehr unterstützt.
WBCenobyte
Mitglied
Beiträge: 8
Registriert: 23.01.2008 10:47

(Update) Problem bei Umzug von MySQL4 auf MySQL5 Datenbank

Beitrag von WBCenobyte »

(EDIT)Dieser Thread hieß mal "Probleme mit meiner Datenbank. In zwischen konnte ich das etwas präzisieren. Roter Text ist das ursprüngliche Posting, vieles hat sich mir inzwischen offenbart, warum es nicht geht, allerdings suche ich immewrnoch eine Lösung(/EDIT)

Hallo liebe phpBB-Gemeinde,

ich habe ein Problem mit meiner MySQL Datenbank und ich hoffe, einige findige Nutzer können mir schnell weiterhelfen. :)

Ich bin mit meinem Forum (Noch RC5, dazu aber später mehr) auf einen neuen Server umgezogen. Die optimalste Lösung wäre in meinen Augen gewesen, das Gold Release zu installieren und dann ein Backup von der Datenbank hochzuladen und die Dateien in den Ordner zu kopieren. Dies funktionierte natürlich nicht. Deswegen habe ich jetzt ein RC5 auf meinem neuen Server installiert und selbiges getan um diesen nachher upzudaten. Warum ich nicht einfach auf dem alten Server geupdatet habe?
Leider habe ich auf meinem alten Server Probleme mit meiner Datenbank, nachdem ein Bekannter an den Einstellungen rumgefrickelt hat. So kommt es zu Problemen beim editieren von Beiträgen, gelöschte Beiträge werden zwar nicht mehr angezeigt, das Forum behandelt sie aber immernoch so als wären sie da (letztes Post, ungelesene Posts, etc.) und viele andere lustige Späße. Deswegen hatte ich auf diesem Server etwas Angst Updates durchzuführen.

Nachdem ich also jetzt RC5 auf dem neuen Server installiert habe, ein Datenbank Backup eingestellt habe und alle alten Dateien ins Verzeichnis hochgeladen hab, gibt mir das Forum folgende Fehlermeldung beim Schreiben eines Beitrages:


Nach diversem rumexperimentieren habe ich herausgefunden, dass der Fehler an der "blob" Einstellunbg mancher Felder in der Datenbank liegt. Wie es scheint konnte man diese noch auf MySQL4 (alter Server) mit einem Standardwert versehen, was auf MySQL5 (neuer Server) nicht mehr möglich ist. Daraus resultiert folgender Fehler:
SQL ERROR [ mysql4 ]

Field 'post_edit_reason' doesn't have a default value [1364]

SQL

INSERT INTO phpbb3_posts (forum_id, poster_id, icon_id, poster_ip, post_time, post_approved, enable_bbcode, enable_smilies, enable_magic_url, enable_sig, post_username, post_subject, post_text, post_checksum, post_attachment, bbcode_bitfield, bbcode_uid, post_postcount, post_edit_locked, topic_id) VALUES (5, 2, 0, '84.63.136.5', 1201081465, 1, 1, 1, 1, 1, '', 'Re: Topic 2/3.8.08', 'postinhalt', '99754106633f94d350db34d548d6091a', 0, '', 'ba115', 1, 0, 654)

BACKTRACE

FILE: includes/db/mysql.php
LINE: 158
CALL: dbal->sql_error()

FILE: includes/functions_posting.php
LINE: 1813
CALL: dbal_mysql->sql_query()

FILE: posting.php
LINE: 996
CALL: submit_post()

Was kann ich da tun? Oder noch besser - wie kann ich mein Problem noch eleganter lösen? Eine "frische" Installation mit meinen alten Daten wäre mir natürlich lieber...
Zuletzt geändert von WBCenobyte am 23.01.2008 21:25, insgesamt 4-mal geändert.
Set sail for epic fail.
WBCenobyte
Mitglied
Beiträge: 8
Registriert: 23.01.2008 10:47

Beitrag von WBCenobyte »

Kurzes Update: Habe mein Forum jetzt doch nach einem Backup auf dem alten Server komplett auf Gold Release geupdatet. Wenn ich auf dem neuen Server nun ein Gold Release installiere, ein neues Backup der datenbank meines alten Forums mache und dieses im neuen einspiele, habe ich genau den selben Fehler...

Witzigerweise geht das Forum jetzt auf dem alten Server fehlerfrei... das bringt mir nur nicht viel.

[edit]Irgendetwas scheint hier aber doch im argen zu liegen. wenn ich die Serverzeit einstelle, ignoriert er meine Angaben und nimmt weiter eine falsche Zeitzone und das amerikanische Datumsformat... oh backe...[/edit]

[edit2]okay... nachdem ich jetzt stundenlang daran rumgehampelt und zu keinem ergebnis gekommen bin, umreisse ich hier nochmal, was ioch getan habe, was ebenfalls zu keinem ergebnis geführt hat:
- nur den inhalt der datenbank ohne struktur importiert (führte zu fehlern, weil ich im originalforum benutzerdefinierte felder eingestellt hatte)
- bei der neuen installation eben jene felder vor dem import angelegt... ging wieder nicht.
- getestet, ob ich mit einer blanken installation posten kann - kann ich
- versucht dem feld post_edit_reason in phpmyadmin einen default value zu verpassen. dabei gelernt, das man blob feldern keinen geben kann.
- besagt 3 dateien posting.php, functions_posting.php und mysql.php vom funktionierenden forum rüberkopiert. geht nich.
- die mysql dateien nur via phpmyadmin jeweils gedropt und importiert[/edit2]

[edit]importiere ich nur die struktur der datenbank des alten forums kommt es zu folgendem fehler direkt im anschluss:
SQL ERROR [ mysql4 ]

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND t.template_id = s.template_id AND c.theme_id = s.theme_id AND i.imag' at line 4 [1064]
[/edit]

Gott ist das frustrierend.

[edit3]Wenn ich besagtes tabellenfeld einfach lösche, kann ich posten. allerdings meckert der mir effektiv jedes feld, das auf "Blob" gesetzt ist, an. Und das sind ganz schön viele. Ergo funktioniert die Datenbank ncihht wirklich. Hilfe? Habe jetzt 2 brachliegende Foren, die nicht so funktionieren, wie sie sollen. :([/edit]

[edit4]lol... sogar wenn ich auf dem neuen server ein neues forum aufziehe, die alten dateien drüberkopiere und einen datenbacnkrestore ausführe krieg ich den selben fehler mit dem "post_edit_reason". Kannn doch nich angehen, oder? gleiche dateien und gleiche datenbank wie auf dem anderen server und trotzdem gehts nicht? warum?

liegt unter garantie am mysql unterschied, hm? auf dem neuen server läuft mysql 5.0.18, auf dem alten 4.0.18. Wie komm ich um den Fehler jetzt drumrum?[/edit]

...
(edit again)
Also ich muss wohl die ganzen Felder, die "blob" sind auf "varchar(255)" ändern, hm? und was ist mit der utf8_bin Kollation?

Bitte... ich bin doch so n SQL n00b. :(
wie löse ich das gescheit? das sind 114 Einträge...
(/edit)

(edit 6)
wenn ich im alten forum nur die daten exportiere, ohne struktur der datenbank und diese dann in einem frischen forum auf dem neuen server importiere, gibt das Forum zwar an, der Vorgang wäre erfolgreich gewesen, allerdings scheinen die Daten nicht in der Datenbank zu sein, denn das Forum greift nirgendwo auf die Inhalte zurück, die es eigentlich haben sollte.(/edit)
Zuletzt geändert von WBCenobyte am 23.01.2008 22:04, insgesamt 1-mal geändert.
Set sail for epic fail.
WBCenobyte
Mitglied
Beiträge: 8
Registriert: 23.01.2008 10:47

Beitrag von WBCenobyte »

Der Eintrag ist hier falsch, wie ich inzwischen feststellen musste, nachdem ich das Problem selber etwas eingegrenzt habe.
Wenn bitte ein Moderator so nett wäre ihn in "Installation und Konvertierung" zu verschieben... Danke.
Set sail for epic fail.
Benutzeravatar
bantu
Server-Team
Beiträge: 7311
Registriert: 25.04.2006 16:12
Wohnort: Karlsruhe

Beitrag von bantu »

Ich habe es noch nicht geschafft alles zu lesen, aber eventuell hilft dir das weiter.

Doesn't have a default value errors: http://www.bantu-phpbb.de/viewtopic.php?f=27&t=18
Powered by Coffee
WBCenobyte
Mitglied
Beiträge: 8
Registriert: 23.01.2008 10:47

Beitrag von WBCenobyte »

[ externes Bild ] Danke! Guter Mann.
Set sail for epic fail.
Benutzeravatar
zx9r-treiber
Mitglied
Beiträge: 1401
Registriert: 05.10.2007 16:26
Wohnort: Moormerland
Kontaktdaten:

Beitrag von zx9r-treiber »

Leider habe ich auch diesen Fehler. :oops:
Nach Serverumzug und damit neue Datenbank My SQL 5 ..... (vorher wars die 4 )

SQL ERROR [ mysql4 ] (Obwohl es ja mysql5 heissen müßte)

Data too long for column 'bbcode_uid' at row 1 [1406]

SQL

INSERT INTO phpbb_posts (forum_id, poster_id, icon_id, poster_ip, post_time, post_approved, enable_bbcode, enable_smilies, enable_magic_url, enable_sig, post_username, post_subject, post_text, post_checksum, post_attachment, bbcode_bitfield, bbcode_uid, post_postcount, post_edit_locked, topic_id) VALUES (17, 2, 0, '62.227.94.229', 1202250411, 1, 1, 1, 1, 1, '', 'test', 'test', '098f6bcd4621d373cade4e832627b4f6', 0, '', 'hikr2mv6', 1, 0, 178)

BACKTRACE


FILE: includes/db/mysql.php
LINE: 158
CALL: dbal_mysql->sql_error()

FILE: includes/functions_posting.php
LINE: 1830
CALL: dbal_mysql->sql_query()

FILE: posting.php
LINE: 1002
CALL: submit_post()

Der Fehler kommt, wenn ich einen Beitrag schreiben will. Gehe ich aber danach wieder ins Forum um den Beitrag zu lesen ist er da. Nur das er zwar zeigt, das er von mir als Autor geschrieben wurde aber in der Spalte "Letzter Beitrag" werde ich als Gast geführt.

bantu ... dein Vorschlag http://www.bantu-phpbb.de/viewtopic.php?f=27&t=18 klappt leider nicht mit allen Dateien bei mir. :cry:

Ich benutze dafür php my Admin. Der bricht beim " SQL-Befehl(e) in Datenbank db******x****** ausführen" bei einzelnen Dateien wie zB die "phpbb_forums" und 13 weitere (von 68) einfach sofort ab und zeigt nur die übliche Fehler Seite, als wenn er keine Verbindung mit dem Netz hat.

Wie kann ich dieses Problem lösen ?
Gruß
M&K (Michael & Kathy)
"Unser Problem ist auch nicht die Globale Erwärmung ..... sondern die Globale Verblödung!"
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12178
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Beitrag von Mahony »

Hallo
Data too long for column 'bbcode_uid' at row 1 [1406]
Schau mal in die Datenbank unter phpbb_posts in der Spalte bbcode_uid nach, welchen Wert varchar hat.
varchar sollte den Wert 8 haben - falls nicht, dann ändere das mal.


Was meinst du mit
Ich benutze dafür php my Admin. Der bricht beim " SQL-Befehl(e) in Datenbank db******x****** ausführen" bei einzelnen Dateien wie zB die "phpbb_forums" und 13 weitere (von 68 ) einfach sofort ab und zeigt nur die übliche Fehler Seite, als wenn er keine Verbindung mit dem Netz hat.
Auf bantus Seite ist doch nur eine php Datei, die du hoch laden solltest und im Browser aufrufen solltest. Was also machst du da mit phpmyadmin?

Für das Backup und sichern einzelner Tabellen, sowie allen arbeiten an der Mysql Datenbank, empfehle ich dir den MySQLDumper.

Das Tool ist sehr gut - teste es einfach mal.





Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Benutzeravatar
zx9r-treiber
Mitglied
Beiträge: 1401
Registriert: 05.10.2007 16:26
Wohnort: Moormerland
Kontaktdaten:

Beitrag von zx9r-treiber »

Mahony

Also erst einmal Danke für deinen Tipp. Das "Schau mal in die Datenbank unter phpbb_posts in der Spalte bbcode_uid nach, welchen Wert varchar hat.
varchar sollte den Wert 8 haben - falls nicht, dann ändere das mal. " war der Fehler. Es läuft nun.

Zu dem was ich meinte =>

Natürlich habe ich die Zipdatei herunter geladen, entpackt und auf den Server geschickt anschließend nach Anweisung gerufen. Dabei wurde mir ja im Browser angezeigt, was alles geändert werden sollte. Dieses habe ich dann per php my Admin versucht in der Datenbank per SQL Befehl aus zu führen.

Dabei brach er wie geschrieben, 13 mal ab.
Es läuft aber bis jetzt Fehler frei Dank der Änderung die du mir empfohlen hast ...... (bis jetzt zumindestens, die Tage werde ich es genauer wissen. :oops: )

Den MySQLDumper werde ich mir mal in Ruhe ansehen. Hier arbeiten ja sehr viele Leute mit diesem Programm ..... also sollte es von sehr guter Quallität sein.

Edit => Ich sehe gerade das es 3 Versionen gibt. welche ist denn die richtige ....

Edit 2 am 06.02.2008 18.38 Uhr => Werde ich mir mal die 1.22 Ansehen. Danke Dr.Death.
Zuletzt geändert von zx9r-treiber am 06.02.2008 18:39, insgesamt 1-mal geändert.
Gruß
M&K (Michael & Kathy)
"Unser Problem ist auch nicht die Globale Erwärmung ..... sondern die Globale Verblödung!"
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17412
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Ich würde die letzte stabile Version nehmen.

Also : MySQLDumper 1.22
Benutzeravatar
zx9r-treiber
Mitglied
Beiträge: 1401
Registriert: 05.10.2007 16:26
Wohnort: Moormerland
Kontaktdaten:

Beitrag von zx9r-treiber »

Zu früh gefeut :cry:
Der Fehler kommt bei PN versenden.



SQL ERROR [ mysql4 ]

Data too long for column 'bbcode_uid' at row 1 [1406]

SQL

INSERT INTO phpbb_privmsgs (root_level, author_id, icon_id, author_ip, message_time, enable_bbcode, enable_smilies, enable_magic_url, enable_sig, message_subject, message_text, message_attachment, bbcode_bitfield, bbcode_uid, to_address, bcc_address) VALUES (0, '2', 0, '62.227.116.244', 1202320222, 1, 1, 1, 1, 'Freischaltung.', 'Hallo.\n\nIch habe dich von Hand freigeschaltet. \n\nGruß\nMichael' 0, '', '1c3l5ib1', 'u_79', '')

BACKTRACE


FILE: includes/db/mysql.php
LINE: 158
CALL: dbal_mysql->sql_error()

FILE: includes/functions_privmsgs.php
LINE: 1413
CALL: dbal_mysql->sql_query()

FILE: includes/ucp/ucp_pm_compose.php
LINE: 639
CALL: submit_pm()

FILE: includes/ucp/ucp_pm.php
LINE: 126
CALL: compose_pm()

FILE: includes/functions_module.php
LINE: 471
CALL: ucp_pm->main()

FILE: ucp.php
LINE: 310
CALL: p_master->load_active()

Also wieder einmal Datenbank :cry:

Nur wo und was muß diesesmal geändert werden ?
Gruß
M&K (Michael & Kathy)
"Unser Problem ist auch nicht die Globale Erwärmung ..... sondern die Globale Verblödung!"
Gesperrt

Zurück zu „[3.0.x] Installation, Update und Konvertierung“