FiveM oxmysql Connection Error คืออะไร? วิธีแก้ Unable to Establish Connection, Access Denied, Unknown Database และ Timeout

 FiveM oxmysql Connection Error คือปัญหาที่ FXServer หรือ Resource ไม่สามารถเชื่อมต่อ MySQL/MariaDB ได้ตามปกติ โดยอาการอาจเกิดตั้งแต่ Unable to establish a connection, การระบุ Database ผิด, User ไม่มี Permission ไปจนถึง Database อยู่คนละเครื่องแต่ Network หรือ MariaDB ยังไม่เปิดรับ Remote Connection

oxmysql ระบุว่าเมื่อพบข้อความ Unable to establish a connection สิ่งแรกที่ควรตรวจคือ mysql_connection_string, ตรวจว่า Database มีอยู่และ Server Database กำลังทำงาน และหากมีอักขระพิเศษใน Connection String ให้ลองเปลี่ยน Format.

แนวทางแก้ที่ถูกต้องจึงไม่ใช่ Restart FiveM ซ้ำๆ แต่ต้องไล่จาก:

Database Service
↓
Host / Port
↓
Username / Password
↓
Database Name
↓
Connection String
↓
Network / Firewall
↓
oxmysql Start Order
↓
Schema / Query

① Unable to establish a connection คืออะไร

เป็น Error แบบกว้างของ oxmysql ซึ่งหมายความว่า Database Connection ยังไม่สามารถถูก Establish ได้

Official oxmysql Common Issues แนะนำให้ตรวจ:

  • mysql_connection_string

  • Database มีอยู่จริง

  • Database Server กำลังทำงาน

  • Connection String Format

  • Reserved/Special Characters

ก่อนเป็นอันดับแรก.

② อย่าเริ่มจากแก้ SQL Query

ถ้ายังขึ้น:

Unable to establish a connection

ปัญหายังอยู่ที่ Connection Layer

ดังนั้นยังไม่ควรเริ่มแก้:

SELECT ...
UPDATE ...
INSERT ...

เพราะ SQL ยังไม่มีโอกาส Execute สำเร็จจนกว่า Database Connection จะผ่านก่อน

③ ตรวจ MariaDB/MySQL ทำงานหรือไม่

เริ่มจากตรวจ Database Service

แนวคิด:

FXServer
↓
พยายามเชื่อม Database
↓
Database Service ปิด
↓
Connection Failed

MariaDB มีคู่มือ Troubleshooting Connection Issues โดยตรงสำหรับกรณี Client ไม่สามารถเชื่อม Server ได้.

④ Database เปิดแล้วไม่ได้หมายความว่า Connection ถูก

ยังต้องตรวจ:

Host
Port
User
Password
Database

ให้ตรงกับ Database Server จริง

ตัวอย่าง:

set mysql_connection_string "mysql://fivem_user:CHANGE_ME@127.0.0.1:3306/fivem"

oxmysql รองรับ Connection String แบบ URI และแบบ Semicolon-separated.

⑤ Connection String แบบ URI

ตัวอย่าง:

set mysql_connection_string "mysql://fivem_user:PASSWORD@127.0.0.1:3306/fivem"

โครงสร้าง:

mysql://
USER
:
PASSWORD
@
HOST
:
PORT
/
DATABASE

อย่านำ Password ตัวอย่างไปใช้จริง

⑥ Connection String แบบ Key/Value

อีกแบบที่ oxmysql รองรับ:

set mysql_connection_string "user=fivem_user;password=PASSWORD;host=127.0.0.1;port=3306;database=fivem"

หาก URI Format มีปัญหาจาก Special Characters สามารถลอง Format นี้ตามคำแนะนำของ oxmysql.

⑦ ต้องใช้ set หรือ setr

oxmysql Documentation ระบุให้ใช้:

set mysql_connection_string ...

และกำหนด Connection String ก่อน Start Resources ที่ต้องใช้งาน Database.

⑧ mysql_connection_string ต้องอยู่ตรงไหน

ตัวอย่างลำดับ:

set mysql_connection_string "mysql://USER:PASSWORD@127.0.0.1:3306/fivem"

ensure oxmysql
ensure framework
ensure my_resource

สิ่งสำคัญคือ Connection String ต้องถูกกำหนดก่อน Resource ที่ต้อง Query Database เริ่มทำงาน.

⑨ oxmysql ต้อง Start ก่อน Framework หรือไม่

ถ้า Framework ต้องพึ่ง oxmysql:

ต้องให้ oxmysql พร้อมก่อน

Overextended ย้ำว่า Resource Start Order ควรเป็น Logical Dependency Order และยกตัวอย่าง oxmysql เป็นหนึ่งใน Resources แรกๆ ก่อน Framework.

⑩ No such export in resource oxmysql คืออะไร

Official oxmysql Common Issues ระบุสาเหตุหลัก เช่น:

  • oxmysql ยังไม่ Start

  • ใช้ Source ที่ยังไม่ได้ Build แทน Release Build

  • เรียก Export ที่ไม่มีจริง

และแนะนำให้ใช้ Release ที่ถูกต้องพร้อมให้ oxmysql อยู่ต้น Resource Start Order.

⑪ ตัวอย่าง Start Order ที่เหมาะสม

ensure oxmysql
ensure ox_lib
ensure framework
ensure resource_a
ensure resource_b

ไม่ควร:

ensure resource_a
ensure framework
ensure oxmysql

หาก resource_a และ Framework ต้อง Query Database ตั้งแต่ Start

⑫ Special Character ใน Password ทำให้ต่อไม่ได้หรือไม่

เป็นไปได้

oxmysql ระบุว่า Connection String บาง Format มีอักขระ Reserved/Unsupported เช่น:

;
,
/
?
:
@
&
=
+
$
#

และแนะนำให้ลองเปลี่ยน Connection String Format.

⑬ Password มี @ ควรทำอย่างไร

สมมติ Password:

abc@123

URI:

mysql://user:abc@123@127.0.0.1:3306/fivem

สามารถตีความยากในฐานะ URL

ทางแก้หนึ่งคือใช้ Semicolon Format:

user=user;password=abc@123;host=127.0.0.1;port=3306;database=fivem

oxmysql มี Issue ที่ยืนยันว่า Semicolon Connection String สามารถช่วยกรณี Password มี Special Characters บางชนิดได้.

⑭ อย่าแชร์ Connection String จริง

ห้ามโพสต์:

mysql://root:REAL_PASSWORD@PUBLIC_IP:3306/database

ลง:

Discord
Forum
GitHub Issue
Screenshot
Public Log

ให้ปิดบัง Credential ก่อนเสมอ

⑮ Access denied for user คืออะไร

MariaDB ระบุว่า Access Denied อาจหมายถึง User ไม่มีสิทธิ์เข้าถึง Database/Schema ที่พยายามใช้งาน หรือ Authentication ไม่ตรงตามที่กำหนด.

ตัวอย่าง:

Access denied for user 'fivem_user'@'localhost'

ให้ตรวจ:

Username
Password
Host
Privileges

⑯ Username ถูกแต่ยัง Access Denied

Database Account ไม่ได้มีเพียงชื่อ User

Database สามารถพิจารณา:

user
+
host

ร่วมกัน

ดังนั้น Account:

fivem_user@localhost

อาจไม่เหมือนกับ Account ที่อนุญาต Remote Host

MariaDB มีระบบ User Account และ Host-based Authentication/Privileges สำหรับการเชื่อมต่อ.

⑰ อย่าใช้ root เป็นคำตอบแรก

Production ควรใช้ Dedicated Database User ตามสิทธิ์ที่ Application ต้องการ

แนวคิด:

fivem_app
↓
สิทธิ์เฉพาะ Database ที่ต้องใช้

แทน:

root
↓
สิทธิ์ระดับสูงมาก

ถ้า Connection Error เกิดจาก Permission ควรแก้ Permission ให้ถูก ไม่ใช่ให้สิทธิ์ Admin ทั้งหมดโดยอัตโนมัติ

⑱ Unknown database คืออะไร

MariaDB Error 1049 หมายถึง:

Unknown database 'ชื่อฐานข้อมูล'

คือ Database ที่ Connection String ระบุไม่มีอยู่บน Server นั้น.

ตัวอย่าง:

database=fivem

แต่ Database จริงชื่อ:

fivem_prod

ก็จะเกิดปัญหา

⑲ ตรวจ Database Name ให้ละเอียด

ระวังความแตกต่าง เช่น:

fivem
fivem_db
fivem-prod
fivem_prod

รวมถึงการ Connect ไป Database Server คนละเครื่อง

บางครั้งชื่อถูก แต่กำลังต่อไป Host ผิดตัว

⑳ Unknown database ไม่เกี่ยวกับ Table

ถ้า Error คือ:

Unknown database

อย่าเริ่มสร้าง Table

เพราะปัญหาคือ Database/Schema ระดับบนยังไม่มี

ลำดับคือ:

Database
↓
Tables
↓
Columns
↓
Rows

㉑ Table doesn't exist คือปัญหาอีกแบบ

ถ้า Connection สำเร็จแล้วแต่ขึ้น:

Table 'fivem.characters' doesn't exist

หมายความว่าเข้าสู่ Database ได้แล้ว แต่ Schema ของ Resource อาจยัง Import ไม่ครบ

ตรวจ:

SQL Installation File
Migration
Resource Version
Table Name

แทนการแก้ Connection String

㉒ Unknown column คืออะไร

เช่น:

Unknown column 'character_id'

บ่งชี้ว่า Connection และ Table อาจมีอยู่แล้ว แต่ Schema Version ไม่ตรงกับ Resource

ตรวจ:

Resource Update
Migration SQL
Column Rename
Database Backup

ก่อนแก้ Code

㉓ วิธีแยก Connection Error กับ Schema Error

จำ:

ต่อ Database ไม่ถึง
=
Connection Error

ต่อถึงแล้วแต่ Table/Column ผิด
=
Schema Error

นี่เป็นจุดแบ่งที่ช่วยลดเวลาวิเคราะห์ได้มาก

㉔ Database อยู่เครื่องเดียวกันควรใช้ Host อะไร

โดยทั่วไปสามารถใช้ Loopback เช่น:

127.0.0.1

หาก MariaDB/MySQL อยู่เครื่องเดียวกับ FXServer และ Config อนุญาต

แต่ค่าจริงต้องตรงกับ Infrastructure ของ Server

㉕ localhost กับ 127.0.0.1 เหมือนกันทุกกรณีไหม

ไม่ควรสมมติว่าพฤติกรรมจะเหมือนกันทุก Environment

หาก localhost มีปัญหา สามารถทดสอบ:

127.0.0.1

เพื่อแยกปัญหา Name Resolution หรือ Client Connection Behavior

㉖ Database อยู่คนละเครื่องต้องทำอะไรเพิ่ม

ต้องมีอย่างน้อย:

MariaDB รับ Remote Connection
↓
User ได้รับสิทธิ์จาก Host ที่เหมาะสม
↓
Firewall เปิด Port เฉพาะที่จำเป็น
↓
FXServer ติดต่อ IP Database ได้

MariaDB Remote Connection Guide ระบุว่าต้องตรวจ skip-networking, bind-address, User Privileges และ Firewall สำหรับ Remote Clients.

㉗ bind-address คืออะไร

เป็น Configuration ที่ควบคุม Network Interface/Address ที่ MariaDB รับ Connection

MariaDB Remote Connection Guide ระบุว่าการตั้ง bind-address และ Network Configuration เป็นส่วนสำคัญของการอนุญาต Remote Client.

㉘ bind-address 127.0.0.1 หมายถึงอะไร

ในบริบททั่วไป:

127.0.0.1

จำกัดการรับ Connection ไปยัง Loopback/Local Machine

หาก FXServer อยู่คนละเครื่องกับ Database ก็ต้องออกแบบ MariaDB Network Binding ให้รองรับ Remote Connection อย่างปลอดภัย.

㉙ อย่าเปิด Database ทุก Interface แบบไม่จำเป็น

การแก้ Connection Error ด้วยการเปิด:

0.0.0.0

อย่างเดียวโดยไม่ตั้ง:

Firewall
User Host Restrictions
Privileges

ให้เหมาะสม สามารถเพิ่ม Exposure ของ Database

เปิดเฉพาะ Network Path ที่จำเป็น

㉚ Firewall สำคัญอย่างไร

แม้ MariaDB Listen ถูกแล้ว แต่ Firewall อาจยัง Block Port

Architecture:

FXServer
↓
Network
↓
Firewall BLOCK
↓
MariaDB

ก็ยังเชื่อมไม่ได้

MariaDB Remote Connection Guide ระบุ Firewall เป็นองค์ประกอบหนึ่งที่ต้องตั้งเมื่อเปิด Remote Access.

㉛ Port MySQL/MariaDB ต้องตรงกัน

Connection String:

3306

ต้องตรงกับ Port ที่ Database Server Listen จริง

อย่าคิดว่า Database ทุกเครื่องใช้ Port เดียวกันเสมอ เพราะ Administrator สามารถเปลี่ยน Configuration ได้

㉜ Connection Timeout เกิดจากอะไร

Timeout มักเป็นอาการที่ Client ไม่สามารถรับ Response จาก Endpoint ที่ต้องการได้ในเวลาที่เหมาะสม

ตรวจ:

Host ผิด
Port ผิด
Firewall
Network Route
Database Down
Remote Server ไม่ตอบ

ก่อนเพิ่ม Timeout

㉝ อย่าเพิ่ม Timeout เป็นวิธีแก้แรก

ถ้า Host ผิด:

10.0.0.250

ต่อให้เพิ่ม Timeout จาก 10 วินาทีเป็น 30 วินาที ก็เพียงรอนานขึ้น

หลักที่ถูกต้องคือ:

Connectivity
↓
Authentication
↓
Database
↓
Query

ก่อนปรับ Timeout Tuning

㉞ Connection Refused ต่างจาก Timeout

แนวคิด:

Refused

ไปถึง Host/Port
แต่ไม่มี Service ยอมรับ

Timeout

พยายามติดต่อ
แต่ไม่มี Response ที่ต้องการ

จึงมีจุดตรวจต่างกันเล็กน้อย

㉟ Connection Error หลังเปลี่ยน Password

ตรวจ Connection String ทันที

ถ้า Password ใหม่มี Special Characters เพิ่มขึ้น ควรทดสอบ Alternate Connection String Format ตามคำแนะนำ oxmysql.

㊱ Connection Error หลังย้าย VPS

ตรวจ:

Database IP
Firewall
User Host
DNS
Port
Connection String

เพราะ Environment เปลี่ยน

แม้ Database Username/Password เดิมยังถูกต้อง Remote Host Permission หรือ Firewall อาจไม่ยอมรับ IP ใหม่

㊲ Connection Error หลังย้าย Database

ตรวจว่า FiveM ยังชี้ไป:

Host เก่า

หรือไม่

ตัวอย่าง:

host=127.0.0.1

จะผิดทันทีถ้า Database ย้ายไป Dedicated Database Server แต่ Connection String ยังไม่ได้แก้

㊳ Connection Error หลัง Update oxmysql

ตรวจ:

Release Version
Start Order
Connection String
Console Error
Dependencies

อย่าลบ Database หรือ Import Schema ใหม่เพียงเพราะ Wrapper Update แล้ว Connection ไม่ผ่าน

Database Data กับ Database Connector เป็นคนละ Layer

㊴ ควรใช้ oxmysql Release Build

Official Common Issues ระบุว่า No such export อาจเกิดจากการพยายามรัน Source ที่ยังไม่ได้ Build และแนะนำให้ดาวน์โหลด Release Build ที่ถูกต้อง.

ดังนั้น Server Production ควรใช้ Distribution ที่ถูกเตรียมไว้สำหรับรันจริง

㊵ fxmanifest.lua เกี่ยวอะไรกับ oxmysql

FiveM ใช้ fxmanifest.lua กำหนด Scripts ที่ Resource ต้องโหลด โดย server_script ใช้สำหรับ Script ฝั่ง Server.

สำหรับ Resource Lua ที่ใช้ oxmysql สามารถจัด Database Logic ใน Server-side Script แทน Client

㊶ Database Password ห้ามอยู่ client.lua

เพราะ Client Script ถูกโหลดทำงานฝั่ง Player

Database Credential ต้องถูกเก็บใน Server Configuration/Server Environment ที่เหมาะสม

ไม่ควรมี:

local databasePassword =
    'MY_REAL_PASSWORD'

ใน client.lua

㊷ Database Query ควรอยู่ฝั่ง Server

Architecture:

Client
↓
Request
↓
Server Validate
↓
Database
↓
Server Process
↓
Client

ไม่ใช่:

Client
↓
Database โดยตรง

㊸ Connection ผ่านแต่ Player เข้า Server ไม่ได้

ตรวจ Resource ที่ Player Join Flow ใช้

ตัวอย่าง:

Character Load
Framework
Permission
Database Schema
Query Error

ถ้า oxmysql Connection สำเร็จแล้ว ปัญหาอาจอยู่ที่ SQL/Resource Logic ต่อไป

㊹ วิธีรู้ว่า Connection สำเร็จแล้ว

ดู Server Console ตอน Start

ถ้า oxmysql สามารถ Initialize Database Connection และ Resource Queries เริ่มทำงานโดยไม่มี Connection Error แสดงว่า Connection Layer ผ่านขั้นพื้นฐานแล้ว

จากนั้น Error ที่เหลือควรถูกวิเคราะห์ตาม Query/Schema

㊺ อย่าทดสอบด้วย Production Data โดยไม่ Backup

ถ้าต้องแก้:

Database User
Schema
Table
Migration

ให้มี Backup ก่อน โดยเฉพาะก่อน Import SQL หรือแก้ Table Structure

Connection Error ไม่ควรนำไปสู่การลบ Database แล้วสร้างใหม่ทันที

㊻ Restart Database ช่วยไหม

ช่วยได้เฉพาะกรณีที่ Service มีปัญหาจริง

แต่ถ้า:

Password ผิด
Database Name ผิด
Host ผิด
Permission ผิด

Restart MariaDB กี่ครั้งก็ไม่แก้

㊼ Restart FXServer ช่วยไหม

เช่นเดียวกัน

Restart อาจทำให้ Connection Attempt ใหม่ แต่ถ้า Configuration ผิด ปัญหาจะเกิดซ้ำ

จึงต้องอ่าน Error แล้วแก้ Root Cause

㊽ Connection Error เป็นๆ หายๆ

ควรตรวจ:

Database Availability
Network
Database Restart
Server Load
Connection Saturation
Long Queries
Disk/CPU

ไม่ใช่ Connection String อย่างเดียว

อาการ Intermittent ต่างจากกรณี Credential ผิดซึ่งมัก Fail สม่ำเสมอ

㊾ Slow Query คือ Connection Error ไหม

ไม่

Slow Query หมายถึง Query ทำงานนานหลังเชื่อมต่อ Database ได้แล้ว

oxmysql ระบุว่ามี mysql_slow_query_warning สำหรับแจ้ง Query ที่ช้า และ Slow Query อาจได้รับผลจาก Server Hitch ด้วย.

ดังนั้น:

Unable to connect
≠
Slow Query

㊿ Connection Pool เต็มกับ Query ช้าต่างกันอย่างไร

Connection Pool/Capacity เกี่ยวกับ Concurrent Database Operations

Query ช้าเกี่ยวกับเวลาที่ Operation ใช้

แต่สองเรื่องสามารถเกี่ยวกันได้:

หลาย Slow Queries
↓
ใช้ Database Connections นาน
↓
Queries ใหม่รอมากขึ้น

จึงควร Optimize SQL ก่อนเพิ่ม Connection Capacity แบบเดาสุ่ม

51. Player เยอะแล้ว Connection Error

อย่าตั้งสมมติฐานว่า:

Player เยอะ
=
ต้องเพิ่ม Connection Limit

ตรวจ:

Queries ต่อ Player
Login Burst
Autosave Burst
Slow Queries
Database CPU
Database Connections

ก่อน

52. N+1 Query ทำให้ Database หนัก

ตัวอย่าง:

for i = 1, #players do
    MySQL.single.await(...)
end

100 Players:

100 Database Queries

สำหรับ Operation เดียว

การแก้ Query Architecture อาจลด Database Load ได้มากกว่าปรับ Connection Settings

53. Autosave พร้อมกันทำให้เกิด Spike

สมมติทุก 5 นาที:

Player 1 Save
Player 2 Save
Player 3 Save
...
Player 200 Save

เกิดพร้อมกัน

ควรพิจารณา:

Dirty Flag
Staggered Save
Upsert
Transaction เฉพาะที่จำเป็น

แทนเพิ่ม Connections อย่างเดียว

54. Cache ช่วยลด Connection Pressure

Pattern:

Player Login
↓
Load Database
↓
Cache
↓
Gameplay อ่าน Cache

ลด:

Gameplay Action
↓
Query Database ทุกครั้ง

Database Connection Error ที่เกิดภายใต้ Load บางครั้งต้องแก้จาก Query Volume ด้วย

55. Query ทุก Frame ห้ามทำ

ตัวอย่าง:

CreateThread(function()
    while true do

        MySQL.query.await(
            'SELECT ...'
        )

        Wait(0)
    end
end)

นี่ควรถูกแก้ที่ Resource Architecture

Connection Pool ที่ใหญ่ขึ้นไม่ได้ทำให้ Database กลายเป็น Runtime Variable Store

56. วิธี Debug แบบแยก Layer

ใช้ลำดับนี้:

Layer 1
Database Running?

Layer 2
Host/Port Reachable?

Layer 3
Authentication Pass?

Layer 4
Database Exists?

Layer 5
oxmysql Started?

Layer 6
Schema Correct?

Layer 7
Query Correct?

Layer 8
Performance OK?

ห้ามข้ามจาก Layer 1 ไปแก้ Layer 8

57. Checklist Connection String

ตรวจ:

  1. ใช้ set

  2. Variable ชื่อ mysql_connection_string

  3. Username ถูก

  4. Password ถูก

  5. Host ถูก

  6. Port ถูก

  7. Database ถูก

  8. ไม่มี Quote หาย

  9. ไม่มี Space แปลก

  10. Special Characters ถูกจัดการ

  11. ไม่มี Connection String หลายบรรทัดทับกันโดยไม่ตั้งใจ

  12. Config อยู่ก่อน ensure oxmysql

58. Checklist Database Server

ตรวจ:

  1. MariaDB/MySQL Running

  2. Listen Port ถูก

  3. Database มีอยู่

  4. User มีอยู่

  5. Password ถูก

  6. User มี Permission

  7. Host Permission ถูก

  8. Remote Access ถูกตั้ง

  9. bind-address ถูก

  10. Firewall ถูก

  11. Disk ไม่เต็ม

  12. Database ไม่ Crash

MariaDB มี Troubleshooting Guide ครอบคลุมทั้ง Local Connection และ Access-denied Problems.

59. Checklist FiveM/oxmysql

ตรวจ:

  1. ใช้ oxmysql Release ที่ถูกต้อง

  2. oxmysql Resource มีจริง

  3. ensure oxmysql

  4. Start ก่อน Framework

  5. Start ก่อน Resource ที่ต้องใช้ Database

  6. Export/API ถูก

  7. Resource Dependency ถูก

  8. Server Console ไม่มี Start Error

  9. Schema Resource ถูก Import

  10. Resource Version ตรงกับ Schema

60. ตารางแยก Error ที่ควรรู้

Error/อาการจุดที่ควรตรวจ
Unable to establish connectionConnection String / DB Service
Access deniedUser / Password / Privileges
Unknown databaseDatabase Name
Connection refusedService / Host / Port
TimeoutNetwork / Firewall / Availability
No such export oxmysqlStart Order / Release
Table doesn't existSchema / SQL Import
Unknown columnMigration / Schema Version
Slow QuerySQL / Index / Workload

MariaDB ระบุ Error Access denied และ Unknown database เป็น Error คนละประเภทอย่างชัดเจน ขณะที่ oxmysql แยก Connection Issues และ Resource Export Problems ไว้ใน Common Issues.

FiveM oxmysql Unable to establish a connection แก้อย่างไร

ใช้ลำดับ:

Database Running?
↓
Connection String ถูก?
↓
Database มีจริง?
↓
User/Password ถูก?
↓
ลอง Alternate Connection Format
↓
ตรวจ Special Characters
↓
ตรวจ oxmysql Start Order

นี่ตรงกับรายการ Troubleshooting หลักของ oxmysql.

FiveM oxmysql Access denied แก้อย่างไร

ตรวจ:

Username
Password
Database Permission
Allowed Host

MariaDB ระบุว่า Access Denied สามารถเกิดจาก User ไม่มีสิทธิ์เข้าถึง Database หรือ Authentication Account ไม่ตรง.

FiveM oxmysql Unknown database แก้อย่างไร

ตรวจค่าท้าย Connection String:

/database_name

หรือ:

database=database_name

ให้ตรงกับ Database จริง

MariaDB Error 1049 หมายถึง Database ที่ระบุไม่รู้จักหรือไม่มีอยู่.

FiveM oxmysql Connection Refused แก้อย่างไร

ตรวจ:

Database Service
Host
Port
Firewall
Bind Address

ถ้า Remote Database ต้องตรวจ MariaDB Remote Connection Configuration เพิ่ม.

FiveM oxmysql Timeout แก้อย่างไร

เริ่มจาก Connectivity

FXServer
↓
Network
↓
Firewall
↓
Database Host
↓
Database Port

อย่าเพิ่ม Timeout ก่อนพิสูจน์ว่า Network Path และ Service ถูกต้อง

FiveM oxmysql No such export แก้อย่างไร

Official Common Issues ให้ตรวจ:

oxmysql Start แล้วหรือยัง
ใช้ Release Build หรือไม่
Export Name ถูกหรือไม่

และแนะนำให้ oxmysql อยู่ต้น Resource Start Order.

FiveM Database อยู่คนละเครื่องแล้วต่อไม่ได้

ตรวจ MariaDB Remote Access:

skip-networking
bind-address
User Host Permission
Firewall

MariaDB มี Remote Client Access Guide ที่ระบุองค์ประกอบเหล่านี้โดยตรง.

FiveM Database Password มี @, # หรือ : แก้อย่างไร

oxmysql ระบุว่าอักขระบางชนิดอาจมีปัญหากับ Connection String Format และแนะนำให้ลอง Alternate Format.

ตัวอย่าง:

set mysql_connection_string "user=USER;password=PASSWORD;host=127.0.0.1;port=3306;database=fivem"

FiveM Database ต่อได้แต่ Resource Error

แปลว่า Connection Layer อาจผ่านแล้ว

ตรวจต่อ:

Tables
Columns
Resource SQL
Migration
Framework Version

อย่ากลับไปเปลี่ยน Password หาก Error จริงคือ Unknown column

FiveM Database Error หลัง Update Script

ตรวจ Migration ก่อน

Resource Version ใหม่อาจต้อง:

เพิ่ม Column
เพิ่ม Table
แก้ Index
เปลี่ยน Schema

Backup Database ก่อน Run Migration ทุกครั้ง

FiveM Database Error หลัง Restart

ถ้าก่อน Restart ปกติแต่หลัง Restart Connection ไม่ได้ ให้ตรวจ:

Database Service Start หรือยัง
FXServer Start เร็วกว่าฐานข้อมูลหรือไม่
Config ถูกโหลดหรือไม่
Environment Variable/Connection String เปลี่ยนหรือไม่

โดยเฉพาะระบบที่ Database กับ FXServer Start อัตโนมัติพร้อมกัน

FiveM Database Error เป็นบางครั้ง

ถ้าเป็น Intermittent:

Network
Database Availability
CPU/Disk Load
Long Queries
Service Restart
Connection Saturation

น่าสงสัยมากกว่า Password ผิดธรรมดา

ควรเก็บ Log เวลาที่เกิดเพื่อหา Pattern

FAQ FiveM oxmysql Connection Error

oxmysql Unable to establish a connection คืออะไร

เป็น Generic Connection Error โดย oxmysql แนะนำให้ตรวจ Connection String, Database Availability และ Alternate Connection String Format ก่อน.

Connection String FiveM ตั้งอย่างไร

ใช้ set mysql_connection_string ก่อน Start oxmysql และ Resources ที่ต้องใช้ Database.

oxmysql ต้อง Start ก่อน Framework ไหม

ถ้า Framework ต้องใช้ oxmysql ต้องให้ oxmysql Start ก่อน และ Overextended แนะนำ Resource Start Order ตาม Dependencies.

Access denied คือ Password ผิดอย่างเดียวไหม

ไม่ อาจเป็น User ไม่มี Permission เข้าถึง Database หรือ Authentication/User Host ไม่ตรงด้วย.

Unknown database คืออะไร

คือ Database ที่ระบุใน Connection ไม่มีอยู่หรือไม่ถูกต้อง.

Password มี Special Character ทำอย่างไร

ลองเปลี่ยน Connection String Format ตามคำแนะนำ oxmysql และอย่าเผย Password จริง.

Database อยู่ Remote ได้ไหม

ได้ แต่ต้องตั้ง MariaDB ให้รับ Remote Clients พร้อม User Privileges, Bind Address และ Firewall ที่เหมาะสม.

No such export oxmysql คืออะไร

มักเกี่ยวกับ oxmysql ยังไม่ Start, ใช้ Build ไม่ถูกต้อง หรือเรียก Export ที่ไม่มี.

Slow Query คือ Connection Error ไหม

ไม่ Slow Query เกิดหลัง Database Query สามารถทำงานได้แล้ว และ oxmysql มี Threshold แยกสำหรับ Slow Query Warnings.

Player เยอะแล้ว Database Error ต้องเพิ่ม Connection Limit ไหม

ไม่ควรสรุปทันที ต้องตรวจ Query Count, Slow Queries, Login Burst, Autosave และ Database Load ก่อน

ประเด็นสำคัญ

เมื่อ FiveM ขึ้น oxmysql Connection Error อย่าแก้ทุกอย่างพร้อมกัน ให้แยก Layer:

Database Running
↓
Network Reachable
↓
Authentication
↓
Database Exists
↓
oxmysql Start
↓
Schema
↓
Query
↓
Performance

oxmysql ระบุว่า Unable to establish a connection ควรเริ่มจาก mysql_connection_string, Database Availability และ Connection String Format ขณะที่ MariaDB แยก Error อย่าง Access denied และ Unknown database เป็นคนละสาเหตุอย่างชัดเจน.

ถ้า Database อยู่ Remote ต้องเพิ่มการตรวจ bind-address, User Host Permission และ Firewall เพราะ MariaDB ต้องถูกตั้งให้รับ Remote Client อย่างถูกต้อง.

สำหรับผู้อ่าน comsiam ให้จำสูตร “Service → Connection → Permission → Database → oxmysql → Schema → Query” และ comsiam แนะนำว่าอย่าลบ Database, เปลี่ยน Framework หรือเพิ่ม Connection Limitทันทีเมื่อเจอ Error เพราะข้อความ Error ส่วนใหญ่บอก Layer ที่เสียอยู่แล้ว การไล่ตามลำดับจะหา Root Cause ได้เร็วและปลอดภัยกว่ามาก

Comments

Popular posts from this blog

FiveM ยังน่าเล่นไหม? Enhanced เปลี่ยน FiveM แค่ไหน

FiveM คืออะไร เล่นอย่างไร สำหรับมือใหม่ เริ่มต้นตั้งแต่ศูนย์

วิธีตั้ง Admin Permission ด้วย add_ace และ add_principal FiveM แบบละเอียด