Configurer la base de données MySQL de votre serveur FiveM (oxmysql)
Sans base de données, pas d'argent, pas d'inventaire, pas de personnages qui persistent. Voici comment connecter votre serveur FiveM à sa base MySQL avec oxmysql.
À quoi sert oxmysql sur FiveM ?
Configurer oxmysql permet de relier les scripts de votre serveur FiveM à une base de données MySQL ou MariaDB. Cette base conserve les informations qui doivent rester disponibles après un redémarrage ou la déconnexion d’un joueur.
Sur un serveur RP utilisant ESX ou QBCore, elle enregistre notamment :
- les personnages et leurs identifiants ;
- l’argent liquide et les comptes bancaires ;
- les métiers et les grades ;
- les véhicules possédés ;
- les inventaires ;
- les logements ;
- les licences et autres données persistantes.
Oxmysql sert de pont entre ces données et les ressources FiveM. Lorsqu’un script doit charger un personnage, modifier un solde ou enregistrer un véhicule, il envoie une requête à oxmysql, qui communique avec le serveur de base de données.
Oxmysql remplace couramment les anciennes ressources comme mysql-async et ghmattimysql. Il prend également en charge plusieurs syntaxes historiques, ce qui facilite la migration de nombreux scripts.
Oxmysql ne crée pas automatiquement toutes les tables de votre framework. Vous devez aussi importer les fichiers SQL fournis avec ESX, QBCore ou les scripts installés.
Si votre framework n’est pas encore déployé, commencez par le guide pour installer ESX ou QBCore sur FiveM. Pour gérer le lancement du serveur et consulter sa console, reportez-vous également au guide pour démarrer avec txAdmin.
Récupérer les identifiants MySQL TalCloud
La base MySQL associée à votre hébergement TalCloud est accessible depuis votre espace client ou le panel de gestion. Vous devez récupérer cinq informations :
| Information | Exemple | Utilité |
|---|---|---|
| Hôte | mysql.exemple.fr | Adresse du serveur MySQL |
| Port | 3306 | Port de connexion à MySQL |
| Nom de la base | fivem_12345 | Base utilisée par votre serveur |
| Utilisateur | fivem_user | Compte autorisé à accéder à la base |
| Mot de passe | MotDePasseComplexe | Authentification du compte |
Recopiez les valeurs exactement. L’hôte MySQL n’est pas nécessairement localhost, même lorsque la base est fournie avec l’hébergement.
Ne confondez pas :
Adresse du serveur FiveM : play.exemple.fr
Adresse de la base MySQL : mysql.exemple.fr
Vous pouvez gérer les tables depuis l’outil proposé dans l’espace client, par exemple une interface de type phpMyAdmin.
Ne publiez jamais vos identifiants MySQL dans un tutoriel, une capture d’écran, un dépôt GitHub ou un message Discord. Une personne qui les récupère peut lire, modifier ou supprimer les données de votre serveur.
Installer oxmysql dans les ressources FiveM
Oxmysql est souvent déjà installé lorsqu’ESX ou QBCore a été déployé avec une recipe txAdmin. Vérifiez d’abord le dossier resources/.
Vous devez trouver une structure similaire à celle-ci :
resources/
├── [standalone]/
│ └── oxmysql/
│ ├── fxmanifest.lua
│ ├── lib/
│ └── web/
├── [esx]/
└── [local]/
Ou, pour une installation QBCore :
resources/
├── [standalone]/
│ └── oxmysql/
├── [qb]/
└── [local]/
Si oxmysql est absent, téléchargez sa version publiée depuis le dépôt officiel, puis placez le dossier décompressé dans resources/[standalone]/.
Le fichier suivant doit exister directement dans le dossier de la ressource :
resources/[standalone]/oxmysql/fxmanifest.lua
Évitez l’imbrication suivante :
resources/[standalone]/oxmysql/oxmysql/fxmanifest.lua
Dans ce cas, FiveM risque de ne pas trouver la ressource sous le nom oxmysql.
Ajoutez ensuite son démarrage dans server.cfg :
ensure oxmysql
Oxmysql doit démarrer avant les ressources qui utilisent la base de données. Par exemple :
ensure oxmysql
ensure es_extended
ensure [esx_addons]
Pour QBCore :
ensure oxmysql
ensure qb-core
ensure [qb]
Une erreur
No such export in resource oxmysqlindique souvent qu’un script a démarré avant oxmysql, que la ressource est mal nommée ou que vous avez téléchargé le code source au lieu d’une version prête à l’emploi.
Configurer oxmysql avec la connection string
La chaîne de connexion, ou connection string FiveM, contient les informations permettant à oxmysql de se connecter à la base.
Placez cette ligne dans server.cfg, avant ensure oxmysql :
set mysql_connection_string "mysql://UTILISATEUR:MOT_DE_PASSE@HOTE:PORT/NOM_DE_LA_BASE?charset=utf8mb4"
Exemple fictif :
set mysql_connection_string "mysql://fivem_user:MotDePasseComplexe@mysql.exemple.fr:3306/fivem_12345?charset=utf8mb4"
ensure oxmysql
ensure es_extended
Pour QBCore :
set mysql_connection_string "mysql://fivem_user:MotDePasseComplexe@mysql.exemple.fr:3306/fivem_12345?charset=utf8mb4"
ensure oxmysql
ensure qb-core
Le paramètre charset=utf8mb4 permet de gérer correctement un ensemble étendu de caractères Unicode.
Oxmysql accepte aussi une écriture en valeurs séparées par des points-virgules :
set mysql_connection_string "user=fivem_user;password=MotDePasseComplexe;host=mysql.exemple.fr;port=3306;database=fivem_12345;charset=utf8mb4"
Les deux formats sont valides. Utilisez celui fourni ou recommandé dans votre environnement, sans mélanger les deux syntaxes sur une même ligne.
Gérer les caractères spéciaux du mot de passe
Dans le format mysql://, certains caractères du mot de passe ont un rôle particulier dans une URL. Ils doivent alors être encodés.
Par exemple, le caractère @ devient :
%40
Un mot de passe fictif comme :
Mot@Passe
devient dans l’URL :
Mot%40Passe
La chaîne correspondante serait :
set mysql_connection_string "mysql://fivem_user:Mot%40Passe@mysql.exemple.fr:3306/fivem_12345?charset=utf8mb4"
Si votre mot de passe contient plusieurs caractères réservés et que la connexion échoue, utilisez le format séparé par des points-virgules ou encodez correctement chaque caractère.
Importer le fichier SQL d’ESX ou QBCore
La connection string permet de joindre la base, mais celle-ci doit aussi contenir les tables attendues par votre framework.
Les recipes txAdmin officielles peuvent réaliser cet import automatiquement. Vérifiez néanmoins le contenu de la base avant de conclure que l’installation est terminée.
Un fichier SQL se présente généralement ainsi :
es_extended.sql
legacy.sql
qbcore.sql
players.sql
vehicles.sql
Le nom varie selon le framework et la version du dépôt.
Pour importer un fichier avec une interface comme phpMyAdmin :
- ouvrez l’outil de gestion MySQL depuis l’espace client ;
- sélectionnez la base utilisée par FiveM ;
- ouvrez l’onglet d’importation ;
- choisissez le fichier
.sql; - vérifiez l’encodage proposé ;
- lancez l’import ;
- contrôlez que les tables apparaissent.
Après l’import, une installation ESX peut contenir des tables relatives aux utilisateurs, métiers ou véhicules. Une installation QBCore contient généralement des tables consacrées aux joueurs et aux données de ses ressources.
Sélectionnez toujours la bonne base avant l’import. Importer le fichier dans une autre base ne provoquera pas nécessairement d’erreur, mais votre serveur ne trouvera aucune table.
N’importez pas plusieurs fois un même fichier SQL sans lire son contenu. Certaines instructions créent uniquement les tables manquantes, tandis que d’autres peuvent modifier ou réinitialiser des données.
Des sauvegardes automatiques sont incluses pour vous aider à restaurer. Conservez aussi vos propres exports réguliers : vous restez responsable de vos données.
Vérifier la connexion à la base de données
Démarrez le serveur depuis txAdmin, puis ouvrez la console en direct. Oxmysql doit se lancer avant ESX, QBCore et les scripts dépendants.
Une connexion réussie affiche normalement un message proche de :
[script:oxmysql] Database server connection established!
Vérifiez ensuite que les ressources du framework démarrent sans erreur SQL.
La validation la plus fiable consiste à tester la persistance :
- connectez-vous au serveur ;
- créez un personnage ;
- obtenez ou modifiez une donnée, comme un solde ;
- déconnectez-vous ;
- redémarrez le serveur ;
- reconnectez-vous.
Le personnage et ses données doivent être restaurés. Si le framework fonctionne seulement jusqu’au redémarrage, consultez les erreurs SQL et vérifiez les tables.
Dépanner les erreurs oxmysql
Identifiants incorrects
Une erreur contenant Access denied indique généralement un mauvais utilisateur, un mauvais mot de passe ou une adresse non autorisée.
Access denied for user
Recopiez les identifiants depuis l’espace client et vérifiez les caractères spéciaux du mot de passe.
Base introuvable
Le message suivant signifie que le nom indiqué dans la connection string n’existe pas :
Unknown database
Vérifiez précisément la partie située après le port :
mysql://utilisateur:mot_de_passe@hote:3306/NOM_DE_LA_BASE
Oxmysql démarre trop tard
Si un script affiche :
No such export in resource oxmysql
placez oxmysql avant le framework :
ensure oxmysql
ensure es_extended
ou :
ensure oxmysql
ensure qb-core
Tables manquantes
Une erreur comme :
Table 'fivem_12345.users' doesn't exist
indique généralement que le fichier SQL n’a pas été importé, qu’il a été importé dans une autre base ou que le script attend une table supplémentaire.
Connexion impossible
Si oxmysql ne peut pas établir de connexion, vérifiez :
- l’hôte ;
- le port ;
- l’état de la base ;
- les identifiants ;
- le nom de la base ;
- l’encodage des caractères réservés ;
- l’absence d’espace dans la chaîne.
Les causes les plus fréquentes sont une connection string incorrecte, une base inexistante, un mauvais ordre de démarrage ou des tables SQL manquantes.
En résumé
- Configurer oxmysql permet de connecter ESX, QBCore et vos scripts à la base de données FiveM.
- Récupérez l’hôte, le port, la base, l’utilisateur et le mot de passe depuis l’espace client TalCloud.
- Ne publiez jamais vos identifiants MySQL.
- Placez oxmysql dans
resources/et vérifiez la présence de sonfxmanifest.lua. - Ajoutez la connection string avant
ensure oxmysqldansserver.cfg. - Utilisez le format
mysql://user:pass@host:port/database?charset=utf8mb4ou la syntaxe séparée par des points-virgules. - Encodez les caractères réservés si votre mot de passe est inclus dans une URL.
- Démarrez oxmysql avant ESX, QBCore et les scripts qui l’utilisent.
- Importez le fichier
.sqldu framework dans la bonne base. - Recherchez
Database server connection established!dans la console. - Testez la persistance d’un personnage après un redémarrage.
- Pour configurer oxmysql sur un serveur FiveM hébergé en France avec panel de gestion, stockage NVMe, Anti-DDoS L3/L4/L7 inclus et support francophone, consultez l’offre serveur FiveM TalCloud.