THE ORB
Studio wird gestartet

Datenbankverbindung fehlgeschlagen (oxmysql / mysql-async)

Dein Server erreicht seine Datenbank nicht. Nichts, was speichert oder lädt, funktioniert, bis das behoben ist.

groupsNichts speichert oder lädtpersonDas kannst du beheben

Mach das zuerst

Prüf, ob die Datenbank läuft und ob die Verbindungszeile in server.cfg den richtigen Benutzer und das richtige Passwort hat.

bug_reportFüg lieber deine ganze Konsole ein

Was es bedeutet

Die Datenbankschicht konnte MySQL nicht erreichen, oder erreichte es und wurde abgewiesen. Jede Abfrage in jeder Resource wird scheitern, bis das behoben ist — eine Wand aus zusammenhanglosen Datenbankfehlern darunter ist also zu erwarten und noch nicht lesenswert.

Der Node-Fehlercode sagt, welche Hälfte versagt hat:

ECONNREFUSED — Host erreicht, nichts lauscht auf dem Port

ETIMEDOUT — Host gar nicht erreicht (Firewall, falsche IP)

ENOTFOUND / getaddrinfo — der Hostname löst nicht auf

ER_ACCESS_DENIED_ERROR — MySQL erreicht, falscher Benutzer oder falsches Passwort

ER_BAD_DB_ERROR — verbunden, aber diese Datenbank gibt es nicht

Was es auslöst

Sortiert danach, wie oft es die Antwort ist.

  1. 1

    MySQL läuft nicht

    Am häufigsten auf einem lokalen Rechner nach einem Neustart oder auf einer frischen Maschine, wo der Dienst nie aktiviert wurde.

  2. 2

    Der Verbindungsstring ist falsch oder fehlerhaft

    set mysql_connection_string muss eine einzige Zeile sein, in der server.cfg, vor den Resources, die sie nutzen. Beide Formate gehen, aber das mit Semikolon verzeiht keine Leerzeichen:

    set mysql_connection_string "mysql://user:password@localhost/database?charset=utf8mb4"
  3. 3

    Ein Passwort mit Sonderzeichen ohne Maskierung

    @, :, / und # in einem Passwort zerlegen die URI-Form. Kodier sie prozentual oder nimm die Schlüssel/Wert-Form.

  4. 4

    Der Benutzer hat von diesem Host aus keine Rechte

    MySQL-Rechte gelten pro Host. Ein als user@localhost angelegter Benutzer kann sich von einer anderen Maschine aus auch mit richtigem Passwort nicht verbinden.

  5. 5

    Die Datenbank gibt es noch nicht

    Die Verbindung klappt, das USE scheitert. Das SQL des Frameworks wurde nie importiert.

Wie du erkennst, welcher deiner ist

Lies den Code, nicht den Satz. Versuch dann, dich mit denselben Zugangsdaten von derselben Maschine zu verbinden:

mysql -h 127.0.0.1 -u deinbenutzer -p deinedatenbank

Wenn das auch scheitert, liegt es an MySQL und nicht an FiveM. Beachte: localhost und 127.0.0.1 sind in MySQL-Rechten nicht austauschbar.

Wo du nachsehen musst

server.cfg, die Zeile set mysql_connection_string, und ob oxmysql vor allem, was abfragt, ensured wird.

Wie du es behebst

# server.cfg — vor jeder Resource, die die Datenbank anfasst
set mysql_connection_string "mysql://fivem:pass@127.0.0.1/fivem?charset=utf8mb4"
ensure oxmysql

Gib dem Benutzer die passenden Rechte, wenn er entfernt ist:

CREATE USER 'fivem'@'%' IDENTIFIED BY 'pass';
GRANT ALL PRIVILEGES ON fivem.* TO 'fivem'@'%';
FLUSH PRIVILEGES;

Hängst du immer noch an deinem eigenen Code?

Diese Seite sagt, was dieser Fehler üblicherweise bedeutet. Füg deine Konsole in Server Fixer ein: es sortiert alles darin und sagt dir, was zuerst dran ist; und wenn du lieber nicht ranwillst, kann ORBIE das Script reparieren und dir die Resource fertig zum Einsetzen zurückgeben.

bug_reportServer Fixer öffnen

Für diese Art Fehler Script Optimizer erkennt die Abfragemuster, die das verursachen.

Fehler, die mit diesem zusammen auftreten