Page 1 of 1
MySQL-Fehler bei Login
Posted: Tue 3. Aug 2021, 02:09
by marc
Ich habe das Problem, dass jetzt beim Login in die Benutzeroberfläche immer der Fehler kommt: "MySQL - Query Error: Table 'keyhelp.users_contact' doesn't exist (1146)"
Offenbar hat es die Tabelle in der Datenbank geschrottet. Was kann ich am besten tun, um die Datenbank wieder zu reparieren?
Re: MySQL-Fehler bei Login
Posted: Tue 3. Aug 2021, 09:32
by Alexander
Hast du ein Backup?
Was könnte der Auslöser gewesen sein, hast du Änderungen vorgenommen?
Mach mal ein Screenshot von allen Tabellen in der KeyHelp-Datenbank, damit man nachvollziehen kann, ob nicht noch mehr fehlt. (https://<SERVERURL>/phpmyadmin/index.php?route=/database/structure&server=1&db=keyhelp)
Re: MySQL-Fehler bei Login
Posted: Tue 3. Aug 2021, 10:42
by marc
Zunächst einmal vielen Dank für die schnelle Antwort!
Nein, leider kein Backup vorhanden, nur ein solches, wo der Fehler schon vorhanden ist. Es gibt höchstens eine weitere Keyhelp-installarion auf einem anderen Server, um ggf. die Datenbank-Struktur zu kopieren.
Auslöser war vermutlich, dass die Festplatte kurzzeitig voll gelaufen war und keinen freien Speicher mehr hatte.
Leider habe ich das Passwort des maysqladmin-Users auch nicht. Und die Datei /root/keyhelp-login... ist gelöscht.
Kommt man irgendwie an die keyhelp/keyhelp_root-Passwörter der Datenbank dran, um über die Kommandozeile das Passwort von mysqladmin zu resetten bzw. neu zu setzen? Voller root-Zugriff auf den Server ist vorhanden.
Kann man keyhelp irgendwie dazu bringen, die Datenbank neu aufzubauen - in der Hoffnung, dass sonst noch alles da ist. Natürlich ist es nicht unwahrscheinlich, dass es auch andere Tabellen zerhauen hat, zumindest solche auf die Schreibzugriffe stattfinden sollten, als die Festplatte voll war.
Re: MySQL-Fehler bei Login
Posted: Tue 3. Aug 2021, 11:08
by Alexander
Schau mal in die Datei /etc/keyhelp/config/config.json - Da findest du 2 Datenbank-Zugänge, damit kommst du dann in die KeyHelp-Datenbank. Der "keyhelp" benutzer kommt nur in seine eigene Tabelle, der "keyhelp_root" hat vollen Zugriff auf alle Datenbanken + Datenbank-Server-Einstellungen.
Die SQL für die KeyHelp-Tabelle liegt unter /home/keyhelp/www/keyhelp/install/templates/keyhelp/keyhelp.sql
Je nachdem wie fit du mit SQL bist, kannst du dort die Struktur manuell mit der bestehenden Struktur vergleichen. Eine automatisierte Lösung dafür gibt es leider nicht. Du solltest natürlich nur die strukturellen Sachen vergleichen, nicht pauschal das komplette SQL ausführen, nicht das du dir noch bestehende Inhalte der Datenbank-Tabellen überschreibst.
Re: MySQL-Fehler bei Login
Posted: Wed 4. Aug 2021, 12:52
by marc
Vielen Dank für die wertvollen Hinweise! Damit sollte man zumindest die Chance haben, den Versuch zu starten, die Datenbank händisch zu reparieren.
Ich werde das die Tage mal probieren, wenn ich die nötige Zeit habe, und hoffe, dass es vielleicht wirklich nur die eine Tabelle erwischt hat.