Erreurs SQL courantes & solutions
Erreur et solution connu lié au SQL pour la base GuerreRP By Ducratif.
Cette page est là pour t’aider à comprendre les erreurs SQL les plus fréquentes que tu peux rencontrer avec ta base FiveM (ESX / oxmysql), que ce soit :
en local (XAMPP / WAMP / localhost)
ou sur un hébergeur / VPS / dédié
Toujours avec une logique simple : → PROBLÈME → POURQUOI → COMMENT LE RÉPARER
Je vais séparer proprement : Localhost d’un côté, Hébergeur de l’autre.
COMMENT RECONNAÎTRE UNE ERREUR SQL DANS FIVEM ?
Avant de corriger, il faut être sûr que c’est bien SQL qui bloque.
En général tu vois dans la console serveur des lignes du style :
[oxmysql] [ERROR][MySQL] [ERROR]SCRIPT ERROR: @...avec une mention SQLER_BAD_DB_ERROR,ER_ACCESS_DENIED_ERROR, etc.
Dès que tu vois “MySQL”, “oxmysql” ou un message qui parle de database / table / column / connection, c’est une piste SQL.
==================================================
PARTIE A – ERREURS SQL EN LOCAL (LOCALHOST / XAMPP)
Ici on parle du cas :
→ tu as XAMPP ou WAMP sur ton PC,
→ tu testes ta base en local,
→ ta DB est sur localhost avec souvent l’utilisateur root.
A1. “Access denied for user 'root'@'localhost'”
SYMPTÔMES
Dans la console FiveM ou dans les logs oxmysql :
Access denied for user 'root'@'localhost' (using password: YES)
Le serveur démarre mais tout ce qui touche à la DB est mort (ESX, jobs, etc.)
POURQUOI
Mauvais mot de passe MySQL dans la config
Le compte
roota un mdp que tu n’utilises pasOu tu as mis un mot de passe dans XAMPP mais pas dans la config oxmysql (ou l’inverse)
SOLUTION
Ouvre phpMyAdmin (XAMPP)
Teste ta connexion :
Serveur :
localhostUtilisateur :
rootMot de passe : (vide par défaut sur XAMPP, sauf si tu en as mis un)
Récupère les bonnes infos (user + mdp).
Ouvre la config de oxmysql / ESX (souvent dans
server.cfgou un fichierconfig.lua) et vérifie la ligne de connexion, par exemple :host =
localhostuser =
rootpassword = (ce que tu as mis dans MySQL)
database =
guerreRP(ou le nom que tu as donné)
Redémarre le serveur et vérifie la console.
A2. “Unknown database 'guerreRP'”
SYMPTÔMES
Message type :
Unknown database 'guerreRP'
Le serveur démarre mais la moindre requête SQL plante.
POURQUOI
La base n’a jamais été créée
Tu n’as pas importé le fichier
.sqlTu as importé le SQL dans une base qui ne porte pas le même nom que celui configuré (
guerreRP,fivem, etc.)
SOLUTION
Va dans phpMyAdmin.
Vérifie si une base avec le nom configuré existe (ex :
guerreRP).Si non :
Crée une nouvelle base : “guerreRP”
Encodage :
utf8mb4_general_ci
Clique sur la base, onglet Importer.
Importer le fichier
.sqlfourni avec la base.Dans la config oxmysql, vérifie que
database = "guerreRP"(et pas un autre nom).
A3. Erreur à l’import du SQL (gros fichier, timeout, erreur de syntaxe)
SYMPTÔMES
phpMyAdmin affiche une erreur pendant l’import :
fichier trop gros
“MySQL server has gone away”
“Syntax error near …”
Certaines tables sont créées, d’autres non.
POURQUOI
Le fichier SQL est volumineux et dépasse la limite de phpMyAdmin
La connexion timeout pendant l’import
Tu as essayé d’importer deux fois le même fichier dans la même base (ce qui crée des messages du genre “table already exists”)
SOLUTION (simple)
Si c’est un message “table existe déjà” :
Supprime la base concernée
Recrée-la vide
Réimporte le
.sqlune seule fois proprement.
Si c’est un problème de taille/timeout :
Dans XAMPP, tu peux augmenter les limites dans
php.ini(upload_max_filesize,post_max_size,max_execution_time).Ou utiliser un autre client MySQL (HeidiSQL, DBeaver, etc.) pour importer.
Toujours vérifier à la fin :
Que le nombre de tables dans la base est cohérent (pas 3 tables sur 150…)
Que tu n’as pas d’erreurs rouges en bas de page après l’import.
A4. Problèmes de caractères (�, accents bizarres, “Incorrect string value”)
SYMPTÔMES
Les accents s’affichent mal en jeu ou dans la DB (“é”, “è”, etc.)
Console MySQL :
Incorrect string value
POURQUOI
Mauvais encodage de la base ou des tables
Pas en
utf8mb4, ou collation différente
SOLUTION
Lors de la création de la base :
Choisis
utf8mb4_general_ci(ouutf8mb4_unicode_ci)
Si la base existe déjà et que ça pose problème :
Vérifie dans phpMyAdmin la collation de la base
Si besoin, modifie les tables en
utf8mb4_general_ci
Vérifie aussi que le fichier
.sqld’origine est bien en UTF-8.
A5. “Table doesn’t exist” en local
SYMPTÔMES
Console :
Table 'guerreRP.users' doesn't existou n’importe quelle autre table manquante
Le script plante dès qu’il veut lire/écrire des données.
POURQUOI
SQL mal importé
Une erreur d’import a stoppé la création des tables
Tu as plusieurs bases (ex :
test_fivemetguerreRP) et tu pointes vers la mauvaise
SOLUTION
Dans phpMyAdmin, vérifie que les tables citées dans l’erreur existent.
Si la table est absente :
Revois l’import du
.sql(voir partie A3)Ou récupère uniquement la partie SQL qui crée cette table (si tu en as un extrait)
Vérifie que dans la config oxmysql, tu pointes bien vers la base où sont les bonnes tables.
PARTIE B – ERREURS SQL SUR UN HÉBERGEUR / VPS / DÉDIÉ
Ici on part du principe que :
Ton serveur FiveM tourne sur un VPS / dédié ou hébergeur
La DB peut être sur la même machine ou sur un autre serveur (mysql.hebergeur.com, IP, etc.)
B1. “Can’t connect to MySQL server on 'IP/host' (10061/111/ETIMEDOUT)”
SYMPTÔMES
Dans la console :
Can't connect to MySQL server on 'xxx.xxx.xxx.xxx'ECONNREFUSEDouETIMEDOUT
Aucun script qui touche à la base ne fonctionne.
POURQUOI
Mauvais host dans la config (tu as mis
localhostalors que la DB est ailleurs)Le port MySQL est fermé ou filtré (pare-feu, sécurité hébergeur)
Le serveur MySQL est down
SOLUTION
Vérifie les paramètres fournis par ton hébergeur :
host (ex :
mysql.hebergeur.comou IP)port (3306 ou autre)
user / mdp
nom de la base
Dans la config oxmysql :
host = ce que t’a donné l’hébergeur, et pas forcément
localhostport = 3306 (ou celui indiqué)
Pare-feu / panel :
Si DB sur une autre machine, vérifier que MySQL autorise l’IP de ton serveur FiveM
Si tu es sur un dédié : ouvrir le port 3306 (en interne ou via panel)
Vérifie aussi que le service MySQL est bien démarré (systemctl, panel, etc.).
B2. Localhost utilisé au mauvais endroit (Docker, Pterodactyl, conteneurs)
SYMPTÔMES
Tu es chez un hébergeur (ou Pterodactyl / Docker)
Tu as mis
localhostou127.0.0.1dans la config DBErreur de connexion MySQL alors que tout marche en local.
POURQUOI
Dans un conteneur (Docker / Pterodactyl),
localhostdésigne le conteneur lui-même, pas l’hôteLa DB est sur l’hôte, sur une autre IP Docker, ou un autre service
SOLUTION
Si la DB est sur la même machine mais en dehors du conteneur :
Utiliser l’IP locale de la machine (ex :
172.x.x.xou IP LAN)Ou le nom du service (si Docker compose / réseau docker nommé)
Si la DB est sur un autre serveur :
Utiliser son IP ou host (ex :
mysql.mondomaine.fr)
Ne jamais supposer que
localhostsuffit :toujours vérifier comment l’hébergeur t’indique d’accéder à la DB.
B3. “Access denied for user 'xxxxx'@'ip_du_serveur'”
SYMPTÔMES
Message similaire au A1, mais avec une IP différente :
Access denied for user 'user_fivem'@'xx.xx.xx.xx'
POURQUOI
Le user MySQL n’est pas autorisé depuis l’IP de ton serveur FiveM
Tu as créé le compte mais limité à
localhostMot de passe faux (classique)
SOLUTION
Vérifie user / mdp dans ton panel MySQL (ou phpMyAdmin de l’hébergeur).
Vérifie les “Hosts autorisés” (parfois tu dois ajouter
%ou l’IP exacte du serveur).Regénère un mot de passe propre si doute, et mets-le dans la config oxmysql.
Teste la connexion avec un client MySQL depuis ta machine (HeidiSQL, DBeaver) en utilisant les mêmes paramètres que ton FiveM.
B4. “Table doesn’t exist” / “Unknown column …” sur hébergeur
SYMPTÔMES
Identiques à la partie A5, mais chez l’hébergeur
Parfois ça marchait en local, et ça casse une fois chez l’hébergeur
POURQUOI
Tu n’as pas importé le bon
.sqlsur l’hébergeurTu as importé une version ancienne ou incomplète
Certaines migrations SQL n’ont pas été rejouées
SOLUTION
Compare le nombre de tables entre ta DB locale et celle de l’hébergeur.
Si tu vois des manques :
Export depuis ta base locale uniquement les tables manquantes (ou la structure)
Import sur la DB hébergée
Vérifie que le nom de la base et des tables est strictement le même partout (casse, pluriels, etc.).
B5. “Too many connections” / surcharge MySQL
SYMPTÔMES
Too many connectionsdans les logsLenteurs, déconnexions, timeout DB
POURQUOI
Trop de joueurs / requêtes pour la config MySQL par défaut
Scripts mal optimisés qui spamment la DB
Limitation dure de ton hébergeur (mutualisé / entrée de gamme)
SOLUTION
Optimiser :
Vérifier les scripts qui font des requêtes dans des boucles
Mettre en cache certaines infos si possible
Côté MySQL :
Augmenter
max_connections(si tu as accès à la config)Vérifier
wait_timeoutpour éviter des connexions zombies
Si tu es en mutualisé ultra limité :
Envisager un VPS/dédié ou un service DB plus solide.
PARTIE C – ERREURS COURANTES LIÉES À OXMYSQL / ESX (COMMUNES)
Ces erreurs peuvent arriver autant en local que sur un hébergeur.
C1. “Unknown column 'xxx' in 'field list'”
SYMPTÔMES
Lors d’un insert/update, message :
Unknown column 'my_column' in 'field list'
POURQUOI
Le script a été mis à jour, mais pas ta DB
Une colonne attendue n’existe pas encore dans la table
SOLUTION
Vérifie dans la doc / README du script s’il y a un SQL à ajouter.
Ajoute manuellement la colonne manquante (ou réimporte le SQL de mise à jour).
Évite de “bricoler” en supprimant des colonnes au hasard dans la DB.
C2. “Column count doesn't match value count”
SYMPTÔMES
Message du style :
Column count doesn't match value count at row 1
POURQUOI
Le script essaie d’insérer dans X colonnes, mais ta table en attend Y
Version du script ≠ version de la structure SQL
SOLUTION
Vérifie que tu n’as pas modifié la structure de la table à la main.
Compare la structure actuelle de la table avec le SQL d’origine du script.
Remets la table comme dans le
.sqlprévu (ou adapte la requête si tu sais ce que tu fais).
C3. “Data too long for column”
SYMPTÔMES
Data too long for column 'xxx' at row 1
POURQUOI
Tu tentes d’insérer une valeur plus longue que la limitation (ex :
VARCHAR(50)et tu envoies 200 caractères).
SOLUTION
Si tu contrôles le code :
Raccourcir la valeur (nom, description, etc.)
Sinon :
Modifier la colonne dans MySQL pour autoriser plus (ex : passer
VARCHAR(50)àVARCHAR(255)), mais en comprenant ce que tu fais.
CHECKLIST GÉNÉRALE AVANT DE PANIQUER
Quand tu as une erreur SQL, pose-toi ces questions dans cet ordre :
Est-ce que la connexion DB est ok ?
Bon host ? Bon user ? Bon mdp ? Bonne base ?
En local :
root/localhostsouventHébergeur : host spécifique + user DB spécifique
Est-ce que la base est bien importée ?
Toutes les tables ? Pas d’erreurs rouges à l’import ?
Est-ce que le nom de la base dans la config est le bon ?
guerreRPvsfivem, vs autre chose
Est-ce que l’erreur parle d’une table ou colonne manquante ?
Si oui : il manque un SQL à importer ou une migration à appliquer.
Est-ce que le problème arrive partout, ou uniquement sur un script précis ?
Si c’est un seul script : aller voir en priorité son SQL et sa doc à lui.
Si vous avez rencontré d'autre problème ainsi que la solution, ou bien meme sans la solution, vous pouvez toujours venir nous donner ce que vous avez pour que nous l'ajoutons et ainsi aider un plus grand nombre de membre !.
Mis à jour
Ce contenu vous a-t-il été utile ?
