Veröffentlicht am
Wofür die Datenbank zuständig ist
Eine saubere Trennung hilft beim Verständnis - und später beim Umzug:
- Im
resources-Ordner liegt das Verhalten: Scripts, Fahrzeuge, MLOs, Menüs. Alles, was man programmiert oder herunterlädt. - In der Datenbank liegt der Zustand: welcher Spieler welchen Job hat, wie viel Geld auf dem Konto liegt, wem welches Fahrzeug gehört.
Löschst du eine Ressource, verschwindet eine Funktion. Löschst du die Datenbank, verschwindet die gesamte Geschichte deines Servers. Deshalb ist sie der Teil, den du am sorgfältigsten behandelst.
Zugangsdaten und phpMyAdmin
Deine Datenbank ist bereits angelegt. Die Zugangsdaten - Host, Datenbankname, Benutzer und Passwort - findest du in unserem Gameserver-Panel. Von dort aus öffnest du auch phpMyAdmin direkt im Browser.
phpMyAdmin ist dein Werkzeug für alles, was nicht über das Spiel läuft: Tabellen ansehen, einzelne Datensätze korrigieren, die .sql-Dateien deines Frameworks einspielen und regelmäßig einen Export als Sicherung ziehen. Ein zusätzliches Programm auf dem eigenen Rechner brauchst du dafür nicht.
Verbindung in der server.cfg
Der Server spricht nicht direkt mit MySQL, sondern über einen Connector - heute üblicherweise oxmysql. Der bekommt seine Zugangsdaten als Verbindungszeichenfolge in der server.cfg:
set mysql_connection_string "mysql://benutzer:passwort@host/datenbank?charset=utf8mb4"
Zwei Dinge sind hier wichtig. Erstens gehört diese Zeile vor die erste ensure-Zeile - der Connector startet als Erstes, alles andere baut darauf auf. Zweitens gehört utf8mb4 ans Ende: Ohne die Zeichensatz-Angabe holpert es bei Umlauten und Emojis in Charakternamen oder Chatnachrichten.
Enthält dein Passwort Sonderzeichen, die in einer URL eine Bedeutung haben, müssen sie kodiert werden. Wer sich das ersparen will, vergibt ein Passwort ohne @, : und /.
SQL-Dateien einspielen
Frameworks und viele Scripts bringen .sql-Dateien mit, die ihre Tabellen anlegen. Ohne diesen Schritt startet der Server zwar, aber niemand kann einen Charakter anlegen oder ein Fahrzeug kaufen.
- In phpMyAdmin die Datenbank links auswählen.
- Oben auf „Importieren" wechseln.
- Die
.sql-Datei auswählen und ausführen.
Bei großen Dateien greift das Upload-Limit. Zwei Auswege: die Datei gepackt hochladen - phpMyAdmin nimmt .sql.gz und .zip direkt an - oder den Import in mehrere kleinere Dateien aufteilen. Spiele die Dateien in der Reihenfolge ein, die dein Framework vorgibt: erst der Kern, dann die Module, dann die Zusatz-Scripts. Wie dieser Stapel aussieht, zeigt ESX aufsetzen beziehungsweise QBCore aufsetzen.
Sicherungen - dein Job, dein Vorteil
Automatische Backups gehören bei uns bewusst nicht zum Tarif. Dafür kommst du jederzeit selbst an einen vollständigen Export: In phpMyAdmin auf „Exportieren", Schnellexport wählen, fertig - eine Datei, die deinen kompletten Serverstand enthält.
Sinnvolle Zeitpunkte für einen Export sind immer dieselben: vor jedem größeren Script-Update, vor dem Einspielen einer fremden .sql und in regelmäßigem Abstand im laufenden Betrieb. Ein Script, das beim Update Tabellen umbaut, ist schnell installiert - und ohne Export nicht rückgängig zu machen.
Bewahre die Exporte außerhalb des Servers auf. Eine Sicherung, die auf demselben System liegt wie das Original, ist keine.
Wenn die Verbindung nicht steht
Datenbankfehler melden sich unmissverständlich in der Live-Konsole, meist schon beim Start. Die Ursachen sind fast immer dieselben:
- Tippfehler in der Verbindungszeichenfolge. Ein fehlendes Zeichen reicht. Kopiere die Daten aus dem Panel, statt sie abzutippen.
- Connector startet zu spät. Steht seine
ensure-Zeile hinter dem Framework, findet der Kern beim Start keine Verbindung. - Tabellen fehlen. Der Server läuft, aber jede Aktion schlägt fehl - dann wurde die
.sqlnicht oder unvollständig eingespielt. - Zwei Connectoren. Ein altes Script bringt seinen eigenen mit; dann streiten sich zwei um dieselbe Aufgabe. Entscheide dich für einen.
Wird der Server unter Last träge, obwohl die Verbindung steht, lohnt ein Blick auf die Abfragen: Eine Datenbank, die bei jedem Schritt eines Spielers gefragt wird, ist ein häufiger Bremsklotz. Wie du das misst, steht in Server-Performance verbessern.
Häufige Fragen
FiveM Server mit Datenbank mieten
MySQL-Datenbank samt phpMyAdmin in jedem Tarif, voller Zugriff auf resources und server.cfg - prepaid ohne Kündigungsfrist, Standort Frankfurt am Main.
Tarife & Preise ansehen