Podłączanie bazy danych FiveM: konfiguracja MySQL i oxmysql

Każdy framework RP na FiveM, czy to ESX, QBCore czy Qbox, przechowuje dane graczy w bazie MySQL lub MariaDB. Bez bazy danych framework nie działa: brak ekwipunku, brak pojazdów, brak pieniędzy, brak prac. oxmysql to standardowy connector łączący framework z bazą danych.

Krok 1: tworzenie bazy danych

Przy wszystkich pakietach FiveM HostValues baza danych jest w cenie. W panelu gry w zakładce Databases znajdziesz opcję utworzenia nowej bazy danych. Po utworzeniu zobaczysz:

  • Host: adres serwera bazy danych (zwykle localhost lub wewnętrzny IP)
  • Port: domyślnie 3306
  • Nazwa bazy danych: nazwa, którą wybrałeś
  • Nazwa użytkownika: automatycznie wygenerowana
  • Hasło: kliknij ikonę oka, aby je wyświetlić

Krok 2: instalacja oxmysql

Pobierz oxmysql z GitHub. Rozpakuj i prześlij folder do resources/[ox]/oxmysql/. Dodaj w server.cfg:

ensure oxmysql

Umieść to powyżej wszystkich zasobów korzystających z bazy danych.

Krok 3: ustawienie stringa połączenia

Dodaj w server.cfg string połączenia:

set mysql_connection_string "mysql://uzytkownik:haslo@host:3306/nazwa_bazy?charset=utf8mb4"

Zastąp wartości danymi z kroku 1. Zwróć uwagę na znaki specjalne w haśle: jeśli zawiera @ lub #, zakoduj je w formacie URL (na przykład %40 dla @).

Krok 4: import SQL frameworka

Każdy framework ma pliki SQL, które tworzą tabele bazy danych. Otwórz phpMyAdmin przez panel gry (przycisk obok bazy danych), kliknij „Importuj" i prześlij plik SQL swojego frameworka:

  • ESX: es_extended.sql
  • QBCore: qb-core.sql
  • Qbox: SQL z recipe lub folderu qbx_core

Większość skryptów, które dodasz później, również ma własne pliki SQL. Importuj je w ten sam sposób.

Krok 5: testowanie

Uruchom serwer. W konsoli powinien pojawić się komunikat:

[oxmysql] Database server connection established

Jeśli widzisz „connection refused" lub „access denied", sprawdź string połączenia pod kątem literówek, upewnij się, że baza danych została utworzona i że hasło jest poprawne.

Najczęstsze problemy

  • ER_NOT_SUPPORTED_AUTH_MODE: Twój serwer MySQL wymaga innego mechanizmu uwierzytelniania. Przy MariaDB zdarza się to rzadko; przy MySQL 8+ musisz ustawić mysql_native_password.
  • Tabele już istnieją: importujesz SQL po raz drugi. Nie szkodzi, import nie nadpisze niczego, jeśli tabele już istnieją.
  • Błędy charset: nie zapomnij o ?charset=utf8mb4 w stringu połączenia. Bez tego parametru emoji i znaki specjalne nie będą poprawnie zapisywane.

Czy mogę użyć SQLite zamiast MySQL?

Technicznie tak, ale żaden framework RP nie obsługuje tego domyślnie. MySQL lub MariaDB to wymóg. W HostValues baza danych jest dołączona do każdego pakietu FiveM, więc nie ma powodu, by używać SQLite.

Jak zrobić kopię zapasową bazy danych?

Przez phpMyAdmin: wybierz bazę danych, kliknij „Eksportuj", wybierz „Szybko" i „SQL", i pobierz plik. Zachowaj go osobno. Przy czystej instalacji importujesz ten plik z powrotem.

Czy mogę przeglądać bazę danych, gdy serwer działa?

Tak. phpMyAdmin pokazuje dane na żywo. Możesz przeglądać dane graczy, pojazdy i ekwipunki, a w razie potrzeby ręcznie je modyfikować. Bądź ostrożny: błąd w bazie danych może uszkodzić dane graczy.

Baza danych jest wliczona we wszystkie pakiety FiveM. W razie pytań dotyczących konfiguracji bazy danych nasz zespół wsparcia chętnie pomoże.


Nadal masz pytania? Utworz ticket, a nasz zespol Ci pomoze.

Powrot do bloga