FiveM & GTA RPFiveM & GTA RP

MySQL mit einem FiveM-Server verbinden (oxmysql)

Verbinden Sie Ihre MySQL-Datenbank per oxmysql mit FiveM: Verbindungsstring, Startreihenfolge in server.cfg, Import des ESX- oder QBCore-Schemas und häufige Fehler.

Ein FiveM-Roleplay-Server läuft nicht ohne Datenbank: Spieler, Fahrzeuge, Inventare, Geld - alles liegt dort. oxmysql ist die Ressource, die Ihre Skripte mit MySQL verbindet. Diese Anleitung behandelt Installation, Verbindungsstring und Startreihenfolge - die drei entscheidenden Punkte.

⚙️ Voraussetzungen

  • Ein Lordhosting FiveM-Server, über das Panel erreichbar
  • Eine MySQL- oder MariaDB-Datenbank mit Benutzer und Passwort
  • Ein installiertes Framework: ESX oder QBCore - siehe ESX oder QBCore
  • SFTP-Zugang oder der Dateimanager des Panels

⚙️ 1. oxmysql installieren

Laden Sie die neueste Version aus dem Repository overextended/oxmysql (die Datei oxmysql.zip auf der Releases-Seite, nicht das Quellcode-Archiv). Entpacken Sie sie und legen Sie den Ordner in resources/ ab:

resources/
  ├── [standalone]/
  │     └── oxmysql/
  ├── [core]/
  └── [scripts]/

Der Ordnername muss exakt oxmysql bleiben: andere Ressourcen rufen ihn unter diesem Namen auf.

⚙️ 2. Verbindungsstring schreiben

Ergänzen Sie in server.cfg folgende Zeile vor jedem ensure:

set mysql_connection_string "mysql://benutzer:[email protected]:3306/fivem?charset=utf8mb4"

Die Schlüssel-Wert-Schreibweise funktioniert ebenfalls und ist lesbarer, wenn das Passwort Sonderzeichen enthält:

set mysql_connection_string "server=127.0.0.1;database=fivem;userid=benutzer;password=passwort;charset=utf8mb4"
Achtung bei Sonderzeichen im Passwort

In der Form mysql:// zerlegt ein @, : oder / im Passwort die URL-Auswertung. Nutzen Sie die Schlüssel-Wert-Schreibweise oder kodieren Sie das Zeichen prozentual (@ wird %40).

⚙️ 3. Startreihenfolge einhalten

oxmysql muss vor dem Framework laden, das Framework vor den Skripten:

ensure oxmysql
ensure es_extended      # oder qb-core
ensure ihr-skript

Ein ensure oxmysql nach dem Framework erzeugt den Fehler oxmysql was not found, selbst wenn die Ressource korrekt installiert ist. Das ist mit Abstand die häufigste Ursache.

⚙️ 4. Framework-Schema importieren

Jedes Framework liefert seine .sql-Dateien. Importieren Sie sie in der von der Dokumentation vorgegebenen Reihenfolge, mit phpMyAdmin oder auf der Kommandozeile:

mysql -u benutzer -p fivem < es_extended.sql

Prüfen Sie anschließend, ob die Tabellen vorhanden sind:

SHOW TABLES;
SELECT COUNT(*) FROM users;

Eine leere Datenbank beim Framework-Start führt zu Unknown column-Fehlern, sobald ein Spieler verbindet.

⚙️ 5. Verbindung prüfen

Starten Sie den Server und lesen Sie die Konsole. oxmysql meldet seinen Zustand deutlich:

[oxmysql] Database server connection established

Zwei nützliche Befehle in der Serverkonsole:

set mysql_debug true

Der Debug-Modus protokolliert jede Abfrage mit Dauer - wertvoll, um ein Skript zu finden, das die Datenbank in einer Schleife abfragt. Im Produktivbetrieb abschalten, er füllt die Protokolle.

⚙️ 6. Häufige Fehler beheben

  • Unable to establish a connection to the database: falsche Zugangsdaten oder falscher Datenbankname. Testen Sie sie mit einem MySQL-Client von derselben Maschine.
  • oxmysql was not found: Startreihenfolge oder falsch benannter Ordner.
  • ER_NOT_SUPPORTED_AUTH_MODE: der MySQL-8-Benutzer nutzt caching_sha2_password. Stellen Sie ihn auf mysql_native_password um.
  • Too many connections: eine Ressource öffnet Verbindungen, ohne sie freizugeben. Der Debug-Modus zeigt die Verursacherin.
  • Zerschossene Umlaute im Spiel: charset=utf8mb4 fehlt im Verbindungsstring.
Langsame Abfragen beobachten

Eine Abfrage über 200 ms, die bei jedem Tick läuft, zieht den Server herunter. Der Debug-Modus von oxmysql zeigt die Dauer: dort schauen Sie zuerst, wenn der Server ohne erkennbaren Grund ruckelt.

⚙️ Fertige Konfiguration zum Kopieren

Drei Blöcke: die Datenbank, die Ressource, die Kontrolle.

1. Die Datenbank anlegen, auf dem MySQL-Server - ersetzen Sie das Passwort durch ein erzeugtes (openssl rand -base64 24):

CREATE DATABASE IF NOT EXISTS fivem
  CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER IF NOT EXISTS 'fivem'@'localhost' IDENTIFIED BY 'MEIN_PASSWORT';
GRANT ALL PRIVILEGES ON fivem.* TO 'fivem'@'localhost';
FLUSH PRIVILEGES;

2. Der server.cfg-Block, in genau dieser Reihenfolge - Verbindungsstring vor jedem ensure, oxmysql vor dem Framework, das Framework vor den Skripten:

# ---- Datenbank -----------------------------------------------------------
# Schlüssel-Wert-Form: vorzuziehen, sobald das Passwort @ : / oder # enthält
set mysql_connection_string "server=127.0.0.1;database=fivem;userid=fivem;password=MEIN_PASSWORT;charset=utf8mb4"

# ---- Startreihenfolge ----------------------------------------------------
ensure oxmysql          # immer zuerst
ensure es_extended      # oder qb-core
ensure ihr-skript       # danach Ihre Ressourcen

3. Die Kontrolle, in der Serverkonsole beim Start:

# Die erwartete Zeile in der Konsole
[oxmysql] Database server connection established

# Langsame Abfragen während einer Diagnose messen
set mysql_debug true

Und der Test außerhalb des Spiels, der ein Zugangsdaten- von einem Ressourcenproblem trennt:

# Klappt dieser Befehl, sind Datenbank und Konto in Ordnung:
# alles Weitere ist ein Problem der server.cfg oder der Startreihenfolge
mysql -u fivem -p -h 127.0.0.1 fivem -e "SELECT COUNT(*) FROM users;"
Das Passwort darf nie in ein Repository gelangen

Die server.cfg enthält den Verbindungsstring im Klartext. Versionieren Sie Ihren Server, halten Sie diese Datei aus dem Repository heraus oder verlagern Sie die Zeile in eine separat eingebundene Datei.

✅ Fazit

Ihre Datenbank ist mit FiveM verbunden, das Schema importiert und die Startreihenfolge stimmt. Fahren Sie mit der server.cfg-Konfiguration und der Installation von txAdmin für die tägliche Verwaltung fort.

Unsere FiveM-Server enthalten eine MySQL-Datenbank auf derselben Infrastruktur: die Latenz zwischen Spielserver und Datenbank bleibt unter einer Millisekunde.

Häufig gestellte Fragen

Zurück zu FiveM & GTA RP
War dieser Artikel hilfreich?
Willkommensangebot

Registriere dich jetzt und sichere dir 10 % Rabatt auf deine erste Bestellung mit dem Gutscheincode: WILLKOMMEN

Logo LordHostingLordhosting ist eine SASU mit einem Kapital von 1 000 €. SIREN 105 383 988 RCS Paris.