Datenbank reparieren - Auto_Increment im smf WEG!

Begonnen von lemming, 20 März 2007, 19:55:59

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

lemming

Hi leute,
ich bräuchte dringend eure hilfe und zwar hatte unser strato server letztens nen speicherriegen crash. dann hat mein kumpel die DB + files auf nen anderen server umgezogen. jetzt geht der strato server wieder und er hat alles wieder zurück gepackt.

pragama läuft soweit bis aufs smf und auf private nachrichten per pm-modul.

das gleiche hat er auch mit nem smf forum 1.1.2 gemacht. hier kommt jetzt der fehler:

Datenbankfehler: Duplicate entry '0' for key 1

jetzt hab ich bei smf im forum nachgelesen, dass warscheinlich die auto_increment werte nicht mit übernommen wurden. tatsächlich! mein kumpel hat wohl vergessen ein häkchen zu setzen und jetzt ham wir den salat.

ich VERMUTE, auch in der pragma DB fehlen die autoincrement werte. fürs smf forum hab ich jetzt schon eine auflistung aller tabellen gefunden welche auto_increment haben aber für pragma leider nicht.

lösung fürs smf: http://www.simplemachines.org/community/index.php?topic=80266.msg539380

jetzt dachte ich, wie könnt ich vllt. die ganze DB irgendwie reparieren? geht das mit dem installer?

brauche euren rat!

danke & gruß jörg
greetz,
Jörg

------------------------
Mitgliedersuche v.0.3 *new*

Andi

Hi :)

das ist wahrscheinlich passiert, weil der Dump mit der Option "SQL-Kompatibilitätsmodus 3.xx" angelegt wurde. Dann werden die autoincrement Eigenschaften nicht mit in die Tabellendefinition eingefügt. Bin mir nicht sicher, aber in meinen Augen ist das ein Bug im phpMyAdmin.
Hatte ich auch schonmal....

Eine Schnellösung gibt es da im Moment noch nicht. Ich habe da aber ne Idee, wie man das machen könnte. Schau ich mir später nach dem Fernsehen an...
schön´s Grüssle, Andi

lemming

hammer danke andi!

ich überleg auch schon die ganze zeit wie ich das lösen könnte. zur not halt ne zweite pragma installation und dann alles von hand durchgehen wobei mhm wär schon aufwendig.
greetz,
Jörg

------------------------
Mitgliedersuche v.0.3 *new*

lemming

ok wir haben ne tragbare notlösung gefunden. er hatte zum glück noch ein dump per cronjob über ftp auf nen anderen server geschoben... wovon ich nichts wusste. ^^ gut so :)

die DB ist als db.sql 20 MB groß. wird also schwer per phpmyadmin. habs also folgendermasen gemacht:

mysql stoppen.
per root die datenbank umbennenen mit move. (sicherheit)
mysql starten.
im plesk die datenbank löschen und neu anlegen + datenbank benutzer.

db.sql file (dump) in irgendein verzeichnis auf dem server kopieren.
in die mysql console mit "mysql --user dbuser --password" dann passwort eingeben...
dann "USE datenbankname;"
dann "SOURCE db.sql;"

fertig. alte db eingespielt und auto_increments wieder vorhanden *puhhhh* :)

----------------------------------------------

ich find die geschichte allgemein trotzdem sehr bedenklich. eigentlich zieht doch fast jeder mit phpmyadmin um und ohne die auto_increment felder funtz halt irgendwie nur noch die hälfte. wie oben schon erwähnt das alles von hand zu ändern wär au n morz aufwand.

vllt. ne sql datei mit update befehlen welche die "stamm-struktur" vom pragma neu setzt?
greetz,
Jörg

------------------------
Mitgliedersuche v.0.3 *new*

Andi

Hi :)

ich bin gerade dabei, ein kleines Script zu schreiben, welches in den Standard pragmaMx Tabellen den auto_increment überprüft und ggf. versucht wieder herzustellen.
Mal sehen, wie sich das entwickelt....
Mt den neuen mySql Versionen sind da ja noch andere Sachen (Probleme) dazugekommen, die auch gecheckt werden müssen. Denke da an collation, charset, usw...

Aber prima, dass es jetzt bei dir wieder ok ist  :thumbup:
schön´s Grüssle, Andi