FiveM & GTA RPMySQL 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"
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 nutztcaching_sha2_password. Stellen Sie ihn aufmysql_native_passwordum.Too many connections: eine Ressource öffnet Verbindungen, ohne sie freizugeben. Der Debug-Modus zeigt die Verursacherin.- Zerschossene Umlaute im Spiel:
charset=utf8mb4fehlt im Verbindungsstring.
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;"
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.

