Contexte
Vous gérez un serveur FiveM (GTA RP) et vous voulez le connecter à une base de données MySQL pour stocker les comptes joueurs, l'inventaire, les véhicules, l'argent ou tout autre élément persistant ? Que vous utilisiez oxmysql, ghmattimysql ou un autre connecteur, la configuration se fait toujours via la même variable mysql_connection_string dans votre server.cfg.
Ce guide vous explique pas à pas comment configurer cette connexion correctement, avec les bonnes pratiques de sécurité et la résolution des erreurs les plus fréquentes.
Assurez-vous que les informations sensibles telles que les mots de passe sont sécurisées et ne sont pas partagées publiquement. Ne commitez jamais votre server.cfg sur un dépôt Git public, même temporairement.
Prérequis
Avant de commencer, assurez-vous d'avoir les éléments suivants.
- Un serveur FiveM actif sur votre panel gaming Winheberg
- Un connecteur MySQL installé sur votre serveur FiveM (oxmysql, ghmattimysql, mysql-async, etc.)
1. Créer une base de données depuis le panel gaming
La création de votre base de données se fait directement depuis le panel gaming Winheberg, dans la section dédiée de votre serveur FiveM.
- Connectez-vous à votre panel gaming Winheberg
- Rendez-vous sur votre serveur FiveM
- Ouvrez l'onglet Databases
- Cliquez sur Create Database (ou équivalent) pour créer une nouvelle base
Une fois la base créée, vous obtiendrez un nom de base, un nom d'utilisateur et un mot de passe. Ces informations apparaîtront immédiatement dans le tableau des bases de données.
2. Récupérer la chaîne de connexion prête à l'emploi
Pour vous simplifier la vie, Winheberg génère automatiquement la chaîne de connexion complète dans la section Database Details.
- Cliquez sur votre base de données fraîchement créée
- Descendez jusqu'à la section Database Details
- Repérez la ligne Fxserver Database qui contient la
mysql_connection_stringprête à copier
Cette ligne ressemble à ceci.
set mysql_connection_string "server=dbXX.wh-nodes.net;database=sxx_Exemple;userid=uxxx_Exemple;password=MOT_DE_PASSE"
Il vous suffit ensuite de la copier dans votre server.cfg.
Si votre mot de passe contient des caractères comme =, ;, " ou ', le parsing de la chaîne de connexion va échouer (notamment avec OXMYSQL). Dans ce cas, régénérez le mot de passe depuis le panel (option Rotate password ou équivalent) jusqu'à obtenir un mot de passe propre. Voir la section "Mot de passe contenant des caractères problématiques" plus bas.
3. Ajouter la chaîne dans server.cfg
Ouvrez votre fichier server.cfg (à la racine de votre serveur FiveM) et collez la ligne que vous venez de copier depuis le panel.
set mysql_connection_string "server=dbXX.wh-nodes.net;database=sxx_Exemple;userid=uxxx_Exemple;password=VOTRE_MOT_DE_PASSE"
Si la ligne mysql_connection_string existe déjà dans votre server.cfg, remplacez-la entièrement par la nouvelle.
4. Redémarrer votre serveur FiveM
Après avoir sauvegardé les modifications, redémarrez complètement votre serveur pour que la nouvelle configuration soit prise en compte. Un simple restart d'une ressource ne suffit pas, car la mysql_connection_string est chargée au démarrage du serveur.
5. Vérifier la connexion
Une fois le serveur redémarré, consultez les logs FiveM. Si la connexion fonctionne, vous devriez voir un message du type.
[oxmysql] Database server connection established!
Si vous voyez une erreur à la place, consultez la section "En cas de problème" en fin de guide.
Mot de passe contenant des caractères problématiques
Certains caractères spéciaux (=, ;, ", ') sont utilisés dans la syntaxe même de la mysql_connection_string et empêcheront le bon parsing de la chaîne. C'est particulièrement le cas avec OXMYSQL, qui est très strict.
Si votre mot de passe contient l'un de ces caractères, la solution la plus simple est de régénérer le mot de passe depuis le panel.
- Retournez dans l'onglet Databases du panel gaming
- Cliquez sur votre base de données
- Utilisez l'option Rotate password (ou équivalent)
- Vérifiez que le nouveau mot de passe ne contient aucun des caractères problématiques
- Si nécessaire, recommencez la rotation jusqu'à obtenir un mot de passe propre
- Récupérez à nouveau la chaîne Fxserver Database mise à jour dans Database Details
- Remplacez-la dans votre
server.cfget redémarrez votre serveur
Bonnes pratiques de sécurité
Quelques règles à respecter pour sécuriser votre connexion MySQL.
- Ne partagez jamais votre
server.cfgsur des forums ou GitHub publics, il contient votre mot de passe MySQL en clair - Régénérez votre mot de passe depuis le panel si vous suspectez une fuite, par exemple si vous avez accidentellement partagé votre
server.cfg - Faites des sauvegardes régulières de votre base de données avec
mysqldumpou via le panel - Ne donnez pas l'accès au panel à des personnes non autorisées, elles pourraient voir votre mot de passe MySQL en clair dans Database Details
En cas de problème
Voici les erreurs les plus fréquentes que vous pourriez rencontrer.
❌ Access denied for user
Le nom d'utilisateur ou le mot de passe est incorrect. Vérifiez les points suivants.
- Que vous avez bien recopié la ligne complète depuis Database Details sans tronquer
- Que le mot de passe ne contient pas de caractères interdits (
=,;,",'), si c'est le cas, régénérez-le depuis le panel - Qu'il n'y a pas d'espace en trop avant ou après les valeurs dans votre
mysql_connection_string
❌ Can't connect to MySQL server
FiveM n'arrive pas à joindre le serveur MySQL. Vérifiez les points suivants.
- Que l'adresse du serveur (
dbXX.wh-nodes.net) est correctement orthographiée dans votremysql_connection_string - Que votre base de données est bien active dans le panel gaming, pas suspendue ou supprimée
- Que votre serveur FiveM dispose bien d'un accès réseau sortant, normalement toujours le cas chez Winheberg
❌ Le serveur démarre mais aucune donnée n'est sauvegardée
Consultez les logs FiveM au démarrage. Vous y verrez probablement une erreur de connexion silencieuse. Si vous utilisez oxmysql, lancez la commande suivante dans la console FiveM pour activer le mode debug.
oxmysql_debug true
Cela activera les logs détaillés des requêtes MySQL et vous aidera à identifier le problème.
❌ Unknown collation 'utf8mb4_0900_ai_ci'
Cette erreur arrive quand vous importez une base de données exportée depuis MySQL 8 vers MariaDB. Avant d'importer, remplacez dans votre fichier SQL toutes les occurrences de utf8mb4_0900_ai_ci par utf8mb4_unicode_ci.
Besoin d'aide ?
Si malgré ces étapes votre serveur FiveM ne se connecte toujours pas à MySQL, notre équipe est là. Ouvrez un ticket dans le département Technique depuis votre espace client, renseignez le champ Produit lié avec le serveur concerné, et joignez les logs de démarrage de votre serveur FiveM.
Votre serveur FiveM est maintenant connecté à sa base de données et prêt à sauvegarder les données de vos joueurs 🎮


