Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Datenbankfehler beheben

Eine Tabelle, die beim Symptom beginnt, mit den Datenbankproblemen, denen eine Exponential-Website auf jeder Engine begegnet - die Website wirkt ausgefallen, fehlende Tabellen, schreibgeschützte SQLite-Dateien…

Download as PDF

Address: https://doc.exponential.earth/learninminutes/exphelp/viewer/help/database-administrators/troubleshooting-database-errors.md

On this page

This page is a translation. Read the English original

Datenbankfehler beheben

Diese Seite richtet sich an Datenbankadministratoren, die gerufen werden, wenn eine Exponential-Website ein Datenbankproblem hat. Sie beantwortet: wo Sie zuerst nachsehen und für jedes häufige Symptom die Ursache und die Lösung. Quellen: 12.10 Datenbanken und die Stolperfallen jeder Engine in Kapitel 9.

Inhalt

  1. Wo Sie zuerst nachsehen
  2. Jede Engine
  3. SQLite
  4. MySQL und MariaDB
  5. PostgreSQL
  6. MongoDB
  7. Oracle
  8. Upgrades
  9. Wann Sie um Hilfe bitten

Wo Sie zuerst nachsehen

  1. var/log/error.log: Die meisten Datenbankprobleme werden dort benannt (Log-Betrachter).
  2. Die wirksame Einstellung: php bin/php/console exp:ini get site.ini/DatabaseSettings/DatabaseImplementation --allow-root-user.
  3. Setup > Systeminformationen, wenn die Administration noch lädt.
  4. Das eigene Log des Datenbankservers.
  5. Für eine genaue Sicht die Debug-Ausgabe nur für Ihre Adresse (Langsame Abfragen finden).

Jede Engine

SymptomUrsacheLösung
Jede Inhaltsseite scheitert; error.log sagt "Database implementation not supported"ein falsch geschriebenes DatabaseImplementation; der Kernel fällt auf eine Null-Datenbank zurückden Alias korrigieren, den INI-Cache leeren, Velocity neu starten
Die Seite "database cannot be reached"falscher Host, Benutzer, falsches Passwort oder falsche Datenbank, oder der Server ist ausgefallen; der Treiber löst eZDBNoConnectionException ausdie Anmeldung mit dem Client der Engine vom Webserver aus testen
Nach einem Engine-Wechsel lädt keine SeiteDatabaseImplementation nennt noch die alte Enginein settings/override/site.ini.append.php setzen, den INI-Cache leeren
Eine Änderung der Einstellungen wirkt nichtINI-Cache nicht geleert, Velocity nicht neu gestartet oder eine Siteaccess-Datei überschreibt sieexp:ini where, leeren, neu starten
Seiten zeigen nach einer manuellen SQL-Änderung oder einer Wiederherstellung alte DatenCaches, einschließlich des SQL-Abfrage-Cachephp bin/php/ezcache.php --clear-all --allow-root-user und exp:velocity cache clear
Funktioniert im Browser, scheitert in Crondem PHP der Kommandozeile fehlt die Datenbankerweiterungphp -m (PHP-Erweiterungen)

SQLite

SymptomUrsacheLösung
"database is busy: the transaction could not start within N s ..."ein anderer Schreibzugriff hielt die Schreibsperre während der ganzen SQLiteTransactionWaitnichts wurde geschrieben; erneut versuchen; den langen Schreiber finden (Schreibwarteschlange)
"attempt to write a readonly database"ein -shm, -wal oder das Verzeichnis ist für diesen Prozess nicht schreibbargemeinsame Gruppe, 2775, Umask 0002 (Rechte)
Die Website meldet fehlende Tabellenein falscher Wert für Database hat eine neue, leere Datei geöffnetden Pfad im Fehler mit ls var/storage/sqlite3/ vergleichen
Langsam nach einer Installation oder einem Importkeine Statistikensqlite3 var/storage/sqlite3/exponential.db ANALYZE
"SQLite3 extension was not found"sqlite3 in diesem PHP nicht geladeninstallieren
Die Datenbankdatei lässt sich herunterladender Webserver liefert var/ ausmitgelieferte Rewrite-Regeln oder Velocity; mit curl -sI prüfen

MySQL und MariaDB

SymptomUrsacheLösung
?, wo Buchstaben mit Akzent standendie Verbindung ist auf den Standardzeichensatz des Servers zurückgefallenAlwaysLog[]=warning, nach "could not set the connection charset" suchen (utf8mb4)
Der Assistent lehnt den Zeichensatz der Datenbank abdie Datenbank ist latin1 oder ähnlichsie in utf8mb4 neu anlegen
Emoji gehen verlorendie Verbindung utf8 (utf8mb3)eine bekannte Grenze der Verbindung
Transaktionen werden nicht zurückgerolltMyISAM-Tabellenezconvertmysqltabletype.php --newtype=InnoDB
Ein Replikat zeigt alte InhalteReplikationsverzögerungdie Verzögerung überwachen (Lesereplikate)

PostgreSQL

SymptomUrsacheLösung
"The 'digest' function is not available in your database ..."pgcrypto fehltCREATE EXTENSION IF NOT EXISTS pgcrypto; als Eigentümer oder Superuser
Connection refusedlisten_addresses, pg_hba.confdie Webserver zulassen (PostgreSQL einrichten)
Doppelter Schlüssel beim Insert nach einem ImportSequenzen hinter ihren Tabellensetval() (PostgreSQL betreiben)
Keine Berechtigung, eine Tabelle anzulegen (PostgreSQL 15+)das Konto ist nicht Eigentümer der Datenbankes zum Eigentümer machen
Das SQL einer Erweiterung scheitert nur hierBackticks oder reine MySQL-AnweisungenSQL von Erweiterungen prüfen

MongoDB

SymptomUrsacheLösung
"Failed to parse MongoDB URI: ... 'default' authentication mechanism requires a username"kein User angegebeneinen Benutzer in der Datenbank der Website anlegen (MongoDB einrichten)
Class "MongoDB\Client" not founddie Bibliothek mongodb/mongodb fehltcomposer require mongodb/mongodb
Teilbaum- und URL-Alias-Abfragen sind langsamIndizes nicht angelegtbin/mongodb/create_indexes.js
Eine Liste oder Seite ist leer, die anderswo nicht leer istSQL, das der Adapter nicht übersetzen kanngrep -rn "MONGO TODO" var/log/ (Grenzen)
Der Einrichtungsassistent läuft in ein Timeoutder Konfigurationsschritt dauert Minutenrequest_terminate_timeout erhöhen oder über die Konsole installieren

Oracle

SymptomUrsacheLösung
Der Treiber wird nicht gefundenezoracle nicht aktiv oder oci8 nicht geladenextension/ezoracle, ActiveExtensions[], php -m prüfen
ORA-00933 im SQL einer ErweiterungAS vor einem Tabellenaliasdie Erweiterung korrigieren
Eine leere Zeichenkette kommt als NULL zurückOracle speichert '' als NULLOracleEmptyStringForNull=enabled
Ein Login funktioniert nur in einer Schreibweisebinärer VergleichOracleCaseInsensitive=enabled, dann ext:ezoracle:ci-indexes --create
CLOB-Werte werden gekürztein älteres ezoracle oder ein Client, der lange CLOBs über LobPrefetch 2000 kürztdie Erweiterung aktualisieren
Einstellungen in Ihrer Website-Erweiterung werden ignoriertsie steht nach ezoraclesie davor setzen (Oracle-Tuning)

Upgrades

SymptomUrsacheLösung
SET storage_engine=InnoDB; scheiterteine Update-Datei von vor Oktober 2026die aktuelle Datei nehmen (SET default_storage_engine)
"duplicate column name" auf SQLitedie 6.0.15-Datei lief ein zweites Maldie Datenbank ist bereits aktualisiert
Eine Update-Datei ist mittendrin gescheitertdie Sicherung wiederherstellen und die Datei von vorn anwenden
Jeder Insert scheitert auf PostgreSQL nach dem Wechsel von 5.xalte Sequenznamen <table>_sdie aktuelle Update-Datei 6.0 benennt sie um
"The audit index classes are not in the autoload array"Autoloads veraltetphp bin/php/ezpgenerateautoloads.php -k

Wann Sie um Hilfe bitten

Sammeln Sie die Fehlerzeilen, die Engine und ihre Version und den Bericht aus Setup > Systeminformationen (er enthält nie Passwörter) und nutzen Sie dann die Wege unter Wenn etwas schiefgeht. Melden Sie Sicherheitsprobleme vertraulich, nie in einem öffentlichen Issue.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x