Nach Crash kann ich Datenbanken nicht wiederherstellen

Hast du Probleme Admidio einzurichten? Hier kannst du Fragen rund um die Einrichtung stellen.
Antworten
Hayen
Beiträge: 11
Registriert: 24. Mai 2009, 16:13
Wohnort: Ostfriesland

Nach Crash kann ich Datenbanken nicht wiederherstellen

Beitrag von Hayen »

Nach einem Crash meines Systems habe ich Probleme Admidio wieder zum laufen zu bekommen. Täglich habe ich mittels "Back in time" eine Sicherung meines Systems gemacht. Dazu ab und an auch Sicherungen mit Admidio.
Vorher hatte ich ein seit opensuse 10.4 bis zu 11.4 upgegradeten Server. Der neue Server wurde gleich mit opensuse 11.4 bespielt.
Admidio in der Version 2.2.8 habe ich neu installiert, was auch problemlos klappte. Zunächst probierte ich die komplette Datenbank in das Verzeichnis /var/lib/mysql zu kopieren (also incl. der .frm Dateien) und die Rechte anzupassen. Das wollte Admidio aber nicht akzeptieren. Dann habe ich den Weg aus http://www.admidio.org/dokuwiki/doku.ph ... eim_update probiert. Leider kam bei der Rücksicherung der Datei folgendes in phpMyAdmin:

Code: Alles auswählen

Fehler

SQL-Befehl:

-- -- Daten für Tabelle `adm_user_fields` -- INSERT INTO `adm_user_fields` (`usf_id`, `usf_cat_id`, `usf_type`, `usf_name`, `usf_description`, `usf_system`, `usf_disabled`, `usf_hidden`, `usf_mandatory`, `usf_sequence`) VALUES (1, 1, 'TEXT', 'Nachname', NULL, 1, 1, 0, 1, 4), (2, 1, 'TEXT', 'Vorname', NULL, 1, 1, 0, 1, 5), (3, 1, 'TEXT', 'Adresse', NULL, 1, 0, 0, 0, 6), (4, 1, 'TEXT', 'PLZ', NULL, 1, 0, 0, 0, 7), (5, 1, 'TEXT', 'Ort', NULL, 1, 0, 0, 0, 8), (6, 1, 'TEXT', 'Land', NULL, 1, 0, 0, 0, 9), (7, 1, 'TEXT', 'Telefon', NULL, 0, 0, 0, 0, 10), (8, 1, 'TEXT', 'Handy', NULL, 0, 0, 0, 0, 11), (9, 1, 'TEXT', 'Fax', NULL, 0, 0, 0, 0, 12), (10, 1, 'DATE', 'Geburtstag', NULL, 1, 0, 0, 0, 13), (11, 1, 'NUMERIC', 'Geschlecht', NULL, 1, 0, 0, 0, 14), (12, 1, 'EMAIL', 'E-Mail', 'Es muss eine gültige E-Mail-Adresse angegeben werden.\r\n Ohne diese kann das Programm nicht genutzt werden.', 1, 0, 0, 1, 15), (13, 1, 'URL', 'H[...]

MySQL meldet: Dokumentation
#1062 - Duplicate entry '' for key 'ak_name_intern' 

Versuche ich die Benutzerliste nun in Admidio zu öffnen bekomme ich folgendes zu sehen:

Code: Alles auswählen

S Q L - E R R O R

CODE: 1064
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 'JOIN adm_user_data as first_name ON first_name.usd_usr_id = usr_i' at line 27

B A C K T R A C E

FILE: adm_program/system/db/mysql.php
LINE: 62
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 164
CALL: MySqlDB->db_error()

FILE: adm_program/administration/members/members.php
LINE: 158
CALL: MySqlDB->query()
Als nächstes habe ich die Tabellen gelöscht und mittels db.sql neu erstellt. Anschließend habe ich versucht die letzte von Admidio erstellte Sicherung wieder einzuspielen. Auch hier bekomme ich eine Fehlermeldung:

Code: Alles auswählen

Fehler

SQL-Befehl:

-- dumping data for adm_user_fields INSERT INTO `adm_user_fields` (`usf_id`, `usf_cat_id`, `usf_type`, `usf_name`, `usf_description`, `usf_system`, `usf_disabled`, `usf_hidden`, `usf_mandatory`, `usf_sequence`) VALUES (1, 1, 'TEXT', 'Nachname', NULL, 1, 1, 0, 1, 4), (2, 1, 'TEXT', 'Vorname', NULL, 1, 1, 0, 1, 5), (3, 1, 'TEXT', 'Adresse', NULL, 1, 0, 0, 0, 6), (4, 1, 'TEXT', 'PLZ', NULL, 1, 0, 0, 0, 7), (5, 1, 'TEXT', 'Ort', NULL, 1, 0, 0, 0, 8), (6, 1, 'TEXT', 'Land', NULL, 1, 0, 0, 0, 9), (7, 1, 'TEXT', 'Telefon', NULL, 0, 0, 0, 0, 10), (8, 1, 'TEXT', 'Handy', NULL, 0, 0, 0, 0, 11), (9, 1, 'TEXT', 'Fax', NULL, 0, 0, 0, 0, 12), (10, 1, 'DATE', 'Geburtstag', NULL, 1, 0, 0, 0, 13), (11, 1, 'NUMERIC', 'Geschlecht', NULL, 1, 0, 0, 0, 14), (12, 1, 'EMAIL', 'E-Mail', 'Es muss eine gültige E-Mail-Adresse angegeben werden.\r\n Ohne diese kann das Programm nicht genutzt werden.', 1, 0, 0, 1, 15), (13, 1, 'URL', 'Homepage', [...]

MySQL meldet: Dokumentation
#1062 - Duplicate entry '' for key 'ak_name_intern' 
Als letzte Möglichkeit habe ich die Tabellen nochmals gelöscht und eine Sicherung die phpMyAdmin vor langer Zeit einmal erstellt hat importiert. Ging auch ohne Fehlermeldungen, aber in Admidio sieht es so aus:

Code: Alles auswählen

S Q L - E R R O R

CODE: 1064
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 'JOIN adm_user_data as first_name ON first_name.usd_usr_id = usr_i' at line 27

B A C K T R A C E

FILE: adm_program/system/db/mysql.php
LINE: 62
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 164
CALL: MySqlDB->db_error()

FILE: adm_program/administration/members/members.php
LINE: 158
CALL: MySqlDB->query()
Und nun bin ich mit meinem Latein am Ende und spring gleich aus dem Fenster weil ich dringend an die Daten muss!
Benutzeravatar
fasse
Administrator
Beiträge: 6229
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hi,

wenn du doch eine Sicherung vom System hast, wieso importierst du diese Sicherung nicht einfach komplett in dein System, wie unter http://www.admidio.org/dokuwiki/doku.ph ... herstellen beschrieben ? Kommt dann auch der Fehler ?

Gruß
Fasse
Hayen
Beiträge: 11
Registriert: 24. Mai 2009, 16:13
Wohnort: Ostfriesland

Beitrag von Hayen »

Das war der zweite Versuch, s.o.. Admidio neu eingespielt. Tabellen gelöscht und die Sicherung eingespielt. Ergebnis siehe oben.
Hayen
Beiträge: 11
Registriert: 24. Mai 2009, 16:13
Wohnort: Ostfriesland

Beitrag von Hayen »

Habs nochmal mit der von Dir beschriebenen Restoremethode und der Sicherung die Admidio seinerzeot geschrieben hat probiert. Wenn ich danach die Benutzerverwaltung in Admidio aufrufe kommt folgende Fehlermeldung:

Code: Alles auswählen

S Q L - E R R O R

CODE: 1064
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 'JOIN adm_user_data as first_name ON first_name.usd_usr_id = usr_i' at line 27

B A C K T R A C E

FILE: adm_program/system/db/mysql.php
LINE: 62
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 164
CALL: MySqlDB->db_error()

FILE: adm_program/administration/members/members.php
LINE: 158
CALL: MySqlDB->query()
Benutzeravatar
fasse
Administrator
Beiträge: 6229
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hallo Hayen,

ich habe mir gerade mal deine Backups angeschaut. Diese sind von einer Admidio-Version 2.1.3 . Dann musst du diese auch beim Zurückspielen installieren. Wenn du jetzt die neue Admidio-Version nutzt, dann kommt die mit der Struktur der Daten nicht zurecht.

Allerdings kannst du auch direkt das Update-Script aufrufen, dann aktualisiert Admidio die Datenbank direkt.
Bei mir hat der Import der .sql Datei funktioniert, hab dann direkt das Update aufgerufen und kann dann mit einer 2.2.8 z.B. auf die Listen zugreifen. Alles ohne Fehlermeldung.

Gruß
Fasse
Hayen
Beiträge: 11
Registriert: 24. Mai 2009, 16:13
Wohnort: Ostfriesland

Beitrag von Hayen »

Danke für die schnelle Reaktion. Ich habe nun folgendes gemacht:
1. Admidio in der neuesten Version 2.2.8 installiert.
2. Tabellen gelöscht
3. Sicherung zurückgespielt.
4. Upsatescript ausgeführt

Dabei kommt folgendes:

Code: Alles auswählen

S Q L - E R R O R

CODE: 1025
Error on rename of './schuetzen/adm_guestbook' to './schuetzen/#sql2-7974-45' (errno: 152)

B A C K T R A C E

FILE: adm_program/system/db/mysql.php
LINE: 62
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 164
CALL: MySqlDB->db_error()

FILE: adm_install/update.php
LINE: 208
CALL: MySqlDB->query()
Mache ich was falsch?

Daten sind aber wieder da.
Aber ich bekomme Fehlermeldungen wenn ich die einzelnen Benutzer aufrufe:

Code: Alles auswählen

S Q L - E R R O R

CODE: 1054
Unknown column 'rol_visible' in 'where clause'

B A C K T R A C E

FILE: adm_program/system/db/mysql.php
LINE: 62
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 164
CALL: MySqlDB->db_error()

FILE: adm_program/modules/profile/roles_functions.php
LINE: 35
CALL: MySqlDB->query()

FILE: adm_program/modules/profile/profile.php
LINE: 647
CALL: getRolesFromDatabase()
Hayen
Beiträge: 11
Registriert: 24. Mai 2009, 16:13
Wohnort: Ostfriesland

Beitrag von Hayen »

Ich habe gerade bei Sourgeforce geguckt, aber nur die 2.1.2 und spätere, aber keine 2.1.3 gefunden.
Wo kann ich die bekommen?
Benutzeravatar
fasse
Administrator
Beiträge: 6229
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hallo Hayen,

sobald du einen Fehler beim Update bekommst, ist es nicht vollständig durchgelaufen und du bekommst dann im Programm diverse weitere Folgefehler.

Mir ist hier allerdings nicht klar,was bei dir nicht funktioniert.

Ich schick dir mal später die aktualisierte Datenbank zurück.

Gruß
Fasse
Antworten