FiveM MySQL Connection Error แก้อย่างไร? เชื่อม Database ไม่ได้ Access Denied, Connection Refused และ Unknown Database
ปัญหา FiveM เชื่อม MySQL หรือ MariaDB ไม่ได้ เป็นหนึ่งใน Error ฝั่ง Server ที่ทำให้ระบบสำคัญแทบทั้งหมดใช้งานไม่ได้ ไม่ว่าจะเป็น Character, Inventory, Banking, Vehicles, Housing หรือ Jobs เพราะข้อมูลเหล่านี้มักถูกเก็บอยู่ใน Database
ตัวอย่าง Error ที่ Server Owner อาจพบ เช่น:
Access denied for user
Connection refused
Unknown database
Can't connect to MySQL server
connect ECONNREFUSED
ETIMEDOUT
หรือ Resource ฐานข้อมูล เช่น oxmysql เชื่อมต่อไม่สำเร็จตั้งแต่ตอน FiveM Server เริ่มทำงาน
สิ่งสำคัญคือ Error แต่ละข้อความมีสาเหตุไม่เหมือนกัน ดังนั้นไม่ควรแก้ด้วยการเปลี่ยน Password, Port, Firewall และติดตั้ง Database ใหม่พร้อมกันทั้งหมด เพราะจะยิ่งหาต้นเหตุยาก
แนวทางที่ถูกต้องคือ:
อ่านข้อความ Error → แยกประเภท → ตรวจ Connection String → ตรวจ Database Service → ตรวจ User Permission → ตรวจ Network → ทดสอบใหม่
① FiveM MySQL Connection Error คืออะไร
คือ FiveM Resource ไม่สามารถสร้าง Connection ไปยัง:
MySQL
MariaDB
ที่ใช้เก็บข้อมูล Server ได้สำเร็จ
② Database สำคัญกับ FiveM อย่างไร
Server RP จำนวนมากใช้ Database เก็บข้อมูล เช่น:
Characters
Money
Inventory
Vehicles
Jobs
Houses
Businesses
หาก Database ใช้งานไม่ได้ ระบบเหล่านี้อาจโหลดไม่ได้ทั้งหมด
③ FiveM มี Database ในตัวไหม
ไม่ควรคิดว่า FiveM มี Database RP สำเร็จรูปหนึ่งระบบ
Server Owner ต้องติดตั้งและกำหนด:
Database Server
Database Resource
Schema
ตาม Framework/Resources ที่ใช้
④ MySQL กับ MariaDB เหมือนกันไหม
มีความเข้ากันได้ในหลายส่วน แต่เป็น Database Server คนละโครงการและ Version/Behavior บางอย่างอาจแตกต่าง
Resource จึงควรใช้ Version ที่ผู้พัฒนารองรับ
⑤ oxmysql คืออะไร
เป็น Resource ที่ FiveM Server บางแห่งใช้เป็นตัวกลางระหว่าง Scripts กับ MySQL/MariaDB
Flow โดยทั่วไปคือ:
FiveM Script
↓
Database Resource
↓
MySQL/MariaDB
↓
Database Tables
⑥ Database Resource ไม่ใช่ Database Server
สำคัญมาก
เช่น:
oxmysql
ไม่ได้หมายความว่า MariaDB ถูกติดตั้งและทำงานแล้ว
⑦ Database Server คืออะไร
Software ฝั่ง Server ที่รับ SQL Connections และเก็บข้อมูลจริง
เช่น:
MariaDB
MySQL
⑧ Connection String คืออะไร
ข้อความที่บอก Resource ว่าจะเชื่อม Database ที่ไหนและด้วย Account อะไร
มักประกอบด้วย:
Host
Username
Password
Database
Port
⑨ ตัวอย่างแนวคิด Connection
Host = 127.0.0.1
User = fivem
Password = ********
Database = fivem
Port = 3306
ค่าจริงของคุณอาจไม่เหมือนตัวอย่าง
⑩ mysql_connection_string คืออะไร
Server Configuration อาจมี Connection String สำหรับ Database Resource
รูปแบบที่ Resource รองรับต้องดู Documentation ของ Resource Version ที่ใช้อยู่
⑪ Error Access denied for user คืออะไร
หมายความว่า Database Server ตอบกลับมาแล้ว แต่ไม่อนุญาต Account นั้นเข้าสู่ Database ตามข้อมูลที่ส่งมา
จุดที่ควรตรวจ:
Username
Password
Host Permission
⑫ Access Denied ไม่เหมือน Connection Refused
Access Denied
Database ตอบแล้ว แต่ Authentication ไม่ผ่าน
Connection Refused
ไปถึง Address/Port แต่ไม่มี Service รับ Connection หรือถูกปฏิเสธ
แยกสองอย่างนี้ก่อนแก้
⑬ Password ผิดมีอาการอะไร
มักพบข้อความประมาณ:
Access denied for user
แต่ควรอ่านข้อความเต็มเพื่อดู:
User
Host
ด้วย
⑭ Username ผิดก็ทำให้ Access Denied ได้
เช่น Connection String ใช้:
fivem_user
แต่ Database มี User:
fivem
เป็นคนละ Account
⑮ Password มีอักขระพิเศษต้องระวังไหม
ต้องระวังมากหาก Connection String ใช้รูปแบบ URL เพราะ Character บางตัวมีความหมายพิเศษใน URL
เช่น Password มี:
@:/#%
อาจต้อง Encode ตามรูปแบบ Connection String ที่ Resource รองรับ
⑯ ทำไม Password ถูกแต่ยัง Access Denied
อาจเป็นเพราะ User ถูกอนุญาตจาก Host อื่น
ตัวอย่างเชิงแนวคิด:
'user'@'localhost'
กับ:
'user'@'%'
เป็น Account Scope ที่อาจแตกต่างกัน
⑰ localhost กับ 127.0.0.1 เหมือนกันไหม
ในระดับการใช้งานทั่วไปดูคล้ายกัน แต่ Connection Method/Name Resolution บาง Environment อาจต่างกัน
จึงไม่ควรเปลี่ยนไปมาแบบสุ่ม
⑱ Database อยู่เครื่องเดียวกับ FiveM
มักใช้:
localhost
127.0.0.1
ตาม Environment
⑲ Database อยู่คนละเครื่อง
ต้องใช้:
IP
Hostname
ของ Database Server
และต้องตรวจ Network/Firewall เพิ่ม
⑳ Connection refused คืออะไร
หมายความว่า Connection ไม่สามารถสร้างไปยัง Service ที่ปลายทางนั้นได้
สาเหตุที่พบบ่อย:
MariaDB ไม่ทำงาน
Port ผิด
Bind Address ผิด
Firewall
Docker Network ผิด
㉑ ตรวจ Database Service ก่อน
ถ้า Database ไม่ได้ Start ต่อให้ Username/Password ถูกทั้งหมดก็เชื่อมไม่ได้
㉒ Restart Database ช่วยไหม
ช่วยเฉพาะกรณี Service มีปัญหา
แต่ถ้า:
Password ผิด
Database Name ผิด
Restart ไม่แก้ต้นเหตุ
㉓ Port MySQL มาตรฐานคืออะไร
Port ที่พบได้บ่อยคือ:
3306
แต่ Server สามารถเปลี่ยน Port ได้
ดังนั้นให้ตรวจ Config จริง
㉔ Port ผิดมีอาการอย่างไร
อาจ:
Connection Refused
Timeout
ขึ้นอยู่กับ Network
㉕ อย่าเปิด Port 3306 Public โดยไม่จำเป็น
ถ้า FiveM กับ Database อยู่เครื่องเดียวกัน การเปิด Database Port สู่ Internet อาจเพิ่มความเสี่ยงโดยไม่จำเป็น
㉖ Remote Database ต้องเปิด Portไหม
ต้องให้ FiveM Server ติดต่อถึง Database ได้
แต่ควรจำกัด:
Source IP
Firewall
User Permission
ให้เหมาะสม
㉗ Connection Timeout คืออะไร
FiveM พยายามเชื่อม Database แต่ไม่ได้ Response ภายในเวลาที่กำหนด
อาจเกิดจาก:
Network
Firewall
Host ผิด
Database ไม่ตอบ
㉘ ETIMEDOUT หมายถึงอะไร
โดยทั่วไปเกี่ยวกับ Connection ที่รอจนหมดเวลา
ให้ตรวจ Network Path มากกว่ารีบแก้ Password
㉙ ECONNREFUSED หมายถึงอะไร
Connection ถูกปฏิเสธที่ Host/Port
จุดแรกควรดู:
Service Running?
Port ถูกไหม?
㉚ Unknown database คืออะไร
Database Serverทำงานและ Authenticationอาจผ่าน แต่ชื่อ Database ที่ระบุไม่มีอยู่
เช่น:
Unknown database 'fivem'
㉛ แก้ Unknown Database อย่างไร
ตรวจว่า Database จริงชื่ออะไร
เช่น:
fivem_prod
แต่ Config ใช้:
fivem
ต้องแก้ให้ตรง
㉜ Database Name ตัวพิมพ์ใหญ่เล็กสำคัญไหม
Environment และ OS สามารถมีผลกับการจัดการชื่อบางประเภท
แนวทางปลอดภัยคือใช้ชื่อให้ตรงกับ Database จริงทุกตัวอักษร
㉝ Database ยังไม่ได้สร้าง
ต้องสร้าง Database ตามขั้นตอนของ Framework/Resource ก่อน Import Schema
㉞ สร้าง Database แล้วต้อง Import SQL ไหม
โดยทั่วไป Resource/Framework หลายตัวต้องมี Tables ที่กำหนด
การมี Database เปล่าไม่เพียงพอ
㉟ Database เชื่อมได้แต่ Server Error Table doesn't exist
นี่ไม่ใช่ Connection Problem แล้ว
Connectionสำเร็จ แต่:
Schemaไม่ครบ
SQLยังไม่ได้ Import
㊱ Unknown table ต่างจาก Unknown database
Unknown Database
ไม่มี Databaseนั้น
Table doesn't exist
Databaseมี แต่ไม่มี Tableที่ Queryต้องการ
㊲ Connection สำเร็จแต่ Character ไม่โหลด
ให้ตรวจ Errorถัดไป เช่น:
Missing Table
Unknown Column
SQL Syntax
Incorrect Value
อย่าคิดว่า Connectionยังเสียเสมอไป
㊳ Database User ต้องมี Permission อะไร
ขึ้นอยู่กับ Resource
โดยทั่วไป FiveM Application Database User ต้องสามารถทำ Operations ที่ Scriptsใช้งาน เช่น:
SELECT
INSERT
UPDATE
DELETE
และ Migrationบางกรณีอาจต้องสิทธิ์เพิ่มเติม
㊴ ใช้ root เป็น FiveM Database User ดีไหม
ไม่แนะนำสำหรับ Production หากสามารถสร้าง Userเฉพาะ Databaseได้
ควรใช้หลัก:
Least Privilege
㊵ Least Privilege คืออะไร
ให้ Accountเฉพาะสิทธิ์เท่าที่จำเป็น
ลดผลกระทบหาก Credentialsรั่ว
㊶ root Account ควรใช้ทำอะไร
เหมาะกับ:
Database Administration
มากกว่าให้ Applicationใช้ถาวร
㊷ สร้าง Userเฉพาะ FiveM มีข้อดีอะไร
สามารถจำกัด:
Database
Host
Permissions
ได้
㊸ FiveM Database User ควรเห็นทุก Database ไหม
ไม่จำเป็น
ถ้า Serverใช้ Databaseเดียว ควรจำกัดตามความต้องการจริง
㊹ Permission Error มีข้อความแบบไหน
อาจเห็น:
SELECT command denied
หรือ:
INSERT command denied
ซึ่งหมายถึง Connectionสำเร็จแล้ว แต่สิทธิ์ SQLไม่พอ
㊺ Access Denied ตอน LoginกับCommand Deniedต่างกัน
Access Denied:
เข้า Database Serverไม่ได้
Command Denied:
เข้าได้ แต่ Operationนั้นไม่มีสิทธิ์
㊻ GRANT คืออะไร
SQLใช้กำหนด Permissionให้ Database User
แต่ก่อนแก้ Productionควรรู้:
User
Host
Database
ที่ถูกต้อง
㊼ อย่ารัน GRANT ALL แบบสุ่ม
เพราะอาจให้ Permissionกว้างเกินจำเป็น
㊽ phpMyAdmin เข้าได้แต่ FiveMเข้าไม่ได้
แปลว่า Databaseอาจทำงานปกติ
ให้ตรวจ:
FiveM Connection User
Host
Password
Connection String
เพราะ phpMyAdminอาจใช้ Accountคนละตัว
㊾ HeidiSQL เข้าได้แต่ FiveMเข้าไม่ได้
แนวคิดเดียวกัน
ตรวจว่าคุณใช้:
Host
Port
Username
ชุดเดียวกันจริงหรือไม่
㊿ Database Client ทดสอบ Connection ได้ดีมาก
ถ้า Loginด้วย Credentialsเดียวกับ FiveMไม่ได้:
ปัญหาอยู่ที่ Database/Network/Credentials
ถ้า Loginได้:
ค่อยตรวจ FiveM Config/Resource
51. ทดสอบด้วย Accountเดียวกับ FiveM
ไม่ใช่ root
เพื่อพิสูจน์ว่า Application Userใช้งานได้จริง
52. FiveM Config มี Password เก่าค้างอยู่
พบได้บ่อยหลัง:
เปลี่ยน Password
ย้าย Hosting
Database Userถูกแก้แล้ว แต่ server.cfg ยังใช้ค่าเดิม
53. Environment Variable คืออะไร
บาง Serverไม่เก็บ Passwordตรงใน Configแต่ใช้:
Environment Variables
ต้องตรวจว่าค่าถูกโหลดจริง
54. Connection String ซ้ำหลายจุดมีปัญหา
ถ้ามี Config:
Old File
New File
Environment
อาจแก้ผิดไฟล์
55. Serverกำลังอ่าน Configไหน
ต้องรู้ก่อนแก้
ไม่เช่นนั้นเปลี่ยน Connection Stringแล้ว Errorยังเหมือนเดิม
56. ensure oxmysql ลำดับสำคัญไหม
Database Resource ควรถูก Start ก่อน Resources ที่ต้องใช้ Database ตาม Dependencyของ Server
57. Script Startก่อน Database Resource
อาจทำให้ Resource Queryเร็วเกินไปแล้ว Error
58. Dependency คืออะไร
Resourceหนึ่งต้องมี Resourceอื่นทำงานก่อน
59. Database Readyคืออะไร
หมายถึง Database Resourceสร้าง Connection/Poolพร้อมรับ Queryแล้ว
60. Connection Pool คืออะไร
ระบบเก็บ Database Connectionsหลาย Connectionไว้ใช้ซ้ำ
ช่วยไม่ต้องเปิด Connectionใหม่ทุก Query
61. Pool Error คืออะไร
Connection Poolอาจสร้างไม่ได้เนื่องจาก:
Credentials
Host
Database
เหมือน Connectionทั่วไป
62. Too many connections คืออะไร
Databaseมี Connectionsพร้อมกันถึง Limit
FiveMอาจเปิด Connectionใหม่ไม่ได้
63. Too many connectionsแก้ด้วยเพิ่มLimitอย่างเดียวไหม
ไม่ควรรีบ
ต้องตรวจด้วยว่า Resourceมี:
Connection Leak
Configผิด
หรือไม่
64. Connection Leak คืออะไร
Applicationเปิด Connectionแล้วไม่คืน/ปิดตามที่ควร
ทำให้ Connectionsสะสม
65. Poolควรจัดการ Connection Reuse
Database Librariesสมัยใหม่มักใช้ Poolเพื่อจัดการเรื่องนี้
66. Resourceเปิด Connectionเองทุก Queryอาจเป็นปัญหา
Custom Scriptที่เขียนไม่ดีอาจทำให้ Database Loadสูง
67. Slow Connection ต่างจาก Slow Query
Slow Connection
เชื่อม Databaseช้า
Slow Query
เชื่อมได้แต่ SQLทำงานช้า
68. Database Connection สำเร็จแต่ Query ช้า
ไม่ใช่ Connection Errorแล้ว
ต้องตรวจ:
Query
Index
Server Load
69. FiveM Serverค้างตอน Database Down
Resourceบางตัวอาจรอ Queryจน:
Gameplayหน่วง
Errorsจำนวนมาก
70. Database Down กระทบ Playersอย่างไร
อาจ:
Saveไม่ได้
Characterโหลดไม่ได้
Moneyไม่อัปเดต
71. ถ้า Database ล่มกลาง Serverควรทำอย่างไร
Server Ownerควรลดความเสี่ยง Data Inconsistency
บางกรณีอาจต้อง:
Maintenance
แทนปล่อย Gameplayต่อทั้งที่ Saveไม่ได้
72. อย่า Restart Databaseรัว ๆ
หาต้นเหตุก่อน
Repeated Restartอาจทำให้ Connection Flapping
73. Connection Flapping คืออะไร
Database Connection:
ติด
หลุด
ติด
หลุด
ซ้ำ ๆ
74. สาเหตุ Flapping
อาจ:
Networkไม่เสถียร
Database Crash
Resource Limits
75. FiveMกับDatabaseอยู่คนละData Center
Latencyอาจสูง
Database Queryจำนวนมากจึงช้าลง
76. Databaseควรอยู่ใกล้ FiveM Server
ในทาง Infrastructure:
Network Latencyต่ำ
มักดีกว่า
77. Remote Database ผ่าน Internetมี Riskอะไร
Latency
Packet Loss
Firewall Complexity
Security Exposure
78. Local Databaseมีข้อดี
Connectionไม่ต้องวิ่งผ่าน Public Internet
แต่ Resource Competitionกับ FiveM Serverต้องจัดสเปกให้เหมาะ
79. VPSเดียวกันใช้ localhost
เป็น Configurationที่พบได้บ่อย
แต่ควรตรวจ MariaDB Bind/Socketตาม Environment
80. Docker FiveM กับ MariaDB ต้องใช้ localhostไหม
ไม่เสมอไป
ถ้าอยู่คนละ Container:
localhost
ภายใน FiveM Containerหมายถึง Containerตัวเอง ไม่ใช่ Database Container
81. Docker Network เป็นสาเหตุยอดนิยม
ควรใช้:
Service Name
Container Network Address
ตาม Architecture
82. Container Database Port Mappingต้องเข้าใจ
Portภายใน Containerกับ Portบน Hostอาจไม่ใช่ค่าเดียวที่ Clientต้องใช้ในทุก Network Path
83. Pterodactyl FiveM Serverล่ะ
Environmentแบบ Container Panelอาจมี Database Hostเฉพาะ
อย่าสมมติว่า:
127.0.0.1
ถูกเสมอ
84. Hosting Panel มักให้ Database Details
เช่น:
Host
Port
Username
Database Name
ให้ใช้ข้อมูลนั้นเป็น Sourceหลัก
85. DirectAdminเกี่ยวกับ FiveM Databaseได้ไหม
หาก Databaseถูกสร้างผ่าน Hosting Control Panelก็อาจได้รับ:
Database Name
User
จาก Panel
แต่ VPS FiveMทั่วไปอาจจัดการต่างกัน
86. Shared Hosting Databaseใช้กับFiveMได้ไหม
ขึ้นอยู่กับ Providerและ Remote Database Policy
หลาย Shared Hostingไม่ได้ออกแบบให้ FiveM Serverเชื่อม Remoteตามใจ
87. Remote MySQL Permission คืออะไร
Hostingอาจต้องเพิ่ม:
FiveM Server IP
ใน Allowed Hosts
88. ถ้าไม่ได้ Allow IPจะเกิดอะไร
อาจ:
Access Denied
Network Block
ขึ้นกับ Provider
89. Dynamic IPมีปัญหาไหม
ถ้า Firewall/Database Allowlistใช้ Source IP
เมื่อ IPเปลี่ยน:
Connectionอาจหยุด
90. FiveM VPSมักมี Static IP
แต่ควรตรวจ Providerจริง
91. Firewallมีสองฝั่ง
อาจต้องตรวจ:
FiveM Server
Outbound Connection
Database Server
Inbound Connection
92. Cloud Firewallคืออะไร
Providerบางรายมี Firewallนอก OSอีกชั้น
แม้ Linux Firewallเปิดแล้ว Cloud Firewallอาจยัง Block
93. Security Groupคืออะไร
Cloud Providersบางระบบใช้ Policyคล้าย Firewallเพื่อกำหนด:
Source
Port
94. Bind Address คืออะไร
Database Serverสามารถกำหนด Network Interfacesที่รับ Connection
ถ้ารับเฉพาะ Localhost:
Remote FiveMเข้าไม่ได้
95. เปลี่ยน Bind Addressเป็น 0.0.0.0 ดีไหม
ไม่ควรทำโดยไม่วาง:
Firewall
Authentication
Network Security
เพราะอาจทำให้ Database Listenกว้างขึ้น
96. วิธีที่ปลอดภัยกว่า
เปิดเฉพาะ Network Interface/Sourceที่จำเป็นเมื่อ Architectureรองรับ
97. Database Public Exposureเสี่ยงอะไร
เพิ่มพื้นที่โจมตีจาก Internet
โดยเฉพาะ Credentialsอ่อน
98. Password Databaseควรแข็งแรง
หลีกเลี่ยง:
123456
password
fivem
99. Passwordไม่ควรอยู่ใน Git Public
ถ้า Upload Configขึ้น Public Repository:
Credentialsอาจรั่ว
100. .gitignoreช่วยไหม
ใช้ป้องกัน Config/Secret Filesบางประเภทจากถูก Commit
แต่ต้องออกแบบ Repositoryให้ดี
101. Passwordรั่วแล้วควรทำอะไร
เปลี่ยน Password
ตรวจ Access
Update Connection String
และตรวจ Logsตามความเหมาะสม
102. อย่าแค่ลบ Passwordจาก Git Commitล่าสุด
Git Historyอาจยังมี Secretเก่า
ควร Rotate Credentialก่อน
103. Connection Stringควรปิดบังเวลาโพสต์ขอHelp
อย่าโพสต์:
mysql://user:realpassword@host/database
Public
104. Screenshot ConsoleอาจมีPasswordไหม
บาง Error/Debug Configอาจแสดง Connection String
ควรตรวจภาพก่อนโพสต์
105. Unknown Host คืออะไร
Hostnameที่กำหนดไม่สามารถ Resolveได้
อาจเกิดจาก:
พิมพ์ผิด
DNS
Docker Service Nameผิด
106. getaddrinfo ENOTFOUND คืออะไร
มักเกี่ยวกับ Hostnameไม่สามารถ Resolve
ตรวจ:
Host
ก่อน Password
107. Hostnameพิมพ์ผิดหนึ่งตัวก็เชื่อมไม่ได้
ตัวอย่าง:
database.internal
กับ:
databse.internal
108. localhostสะกดผิดก็เหมือนกัน
ตรวจ Configอย่างละเอียด
109. Connection URLมี Spaceได้ไหม
Space/Quoteผิดอาจทำให้ Config Parserอ่าน Connection Stringผิด
110. Quoteใน server.cfg สำคัญ
ให้ใช้ Syntaxที่ Resource Documentationกำหนด
111. Connection Stringแบบ URL
ตัวอย่างแนวคิด:
mysql://USER:PASSWORD@HOST/DATABASE
อย่าคัดลอกโดยไม่เปลี่ยนค่า
112. Connection Stringแบบ key-value
บาง Resources/Versionsอาจรองรับรูปแบบอื่น
ให้ยึด Documentationของ Resourceนั้น
113. อย่าใช้ Tutorialเก่าหลายปีเป็น Sourceเดียว
Database Resourceอาจเปลี่ยน:
Configuration
Supported Options
ได้
114. Resource Version สำคัญ
Configจาก Versionเก่าอาจใช้กับ Versionใหม่ไม่ได้เหมือนเดิม
115. FiveM Artifact UpdateทำDatabaseเสียไหม
ไม่ควรสรุปทันที
หาก Connection Errorเกิดหลัง Updateให้ตรวจ:
Resource Compatibility
Startup Order
Config
116. Update oxmysqlแล้วเชื่อมไม่ได้
ตรวจ:
Changelog
Configuration
Dependencies
ก่อน Rollback
117. Rollback Resourceได้ไหม
อาจใช้ชั่วคราวถ้ารู้ว่า Versionใหม่มี Compatibility Issue
แต่ควร Backupและเข้าใจ Migrationก่อน
118. ถ้า Migrationเกิดแล้วอย่าRollback Codeอย่างเดียว
Database Schemaใหม่อาจไม่ตรงกับ Codeเก่า
119. Version Compatibilityต้องมองทั้งระบบ
FiveM
Framework
Database Resource
Database Server
Scripts
120. ESX Database Errorเกิดได้ไหม
ได้
Frameworkไม่ทำให้คุณพ้นจาก:
Credentials
Schema
Network
Problems
121. QBCoreก็เช่นกัน
Databaseยังต้องทำงานและ Schemaต้องตรง Resources
122. Frameworkอื่นก็เหมือนกัน
หลัก Troubleshootingยังใช้:
Connection → Authentication → Database → Schema → Query
123. Character Tableไม่โหลด
ถ้า Connectionไม่ผ่าน:
ทุก Queryอาจ Fail
อย่าแก้ Character Scriptก่อน Database Connection
124. Frameworkบอก Database not ready
แปลว่าควรตรวจ Database Resource/Connection
125. Server Start Orderแนวคิด
Database Resource
↓
Framework
↓
Dependent Resources
แต่ Configจริงต้องยึด Dependenciesของระบบคุณ
126. ensure Resource คืออะไร
คำสั่ง FiveM Configสำหรับให้ Resourceทำงานตาม Configuration
แต่ชื่อ Resourceต้องตรง
127. Resource Missing ทำให้Databaseไม่ทำงาน
ถ้า Configเรียก:
ensure oxmysql
แต่ Resourceไม่มี/ชื่อ Folderผิด:
Database Bridgeไม่ Start
128. Failed to start resource
ต้องแก้ Resource Start Errorก่อน Connection Query
129. Dependency Missing
Database Resourceอาจต้องมี Requirementบางอย่าง
ดู Consoleตั้งแต่บรรทัดแรก
130. อย่าอ่านเฉพาะ Errorสุดท้าย
Root Errorอาจอยู่ก่อนหน้า 20–30บรรทัด
131. Console Logควรอ่านจากตอนResource Start
หา:
Database
Connection
Error
132. Restart Resourceแล้ว Errorซ้ำ
แสดงว่า Config/Infrastructureอาจยังผิด
133. Database Nameมี PrefixจากHosting
Hostingบางแห่งสร้างชื่อเช่น:
account_fivem
แต่ Userใส่:
fivem
จึงเกิด Unknown Database
134. Database Userก็อาจมี Prefix
เช่น:
account_fivemuser
ต้องใช้ชื่อจริงจาก Panel
135. Copy CredentialsจากPanelลดความผิดพลาด
แต่ระวัง:
Space
ติดหัวท้าย
136. Password Copyแล้วมี Space
อาจทำให้ Authenticationไม่ผ่าน
137. เปลี่ยน Passwordแล้วต้องUpdateทุกApplication
ถ้ามี:
FiveM
Website
Admin Tools
ใช้ Userเดียวกัน
แต่ทางที่ดีควรแยก Usersตาม Application
138. แยก Database Userต่อApplicationดีอย่างไร
ถ้า FiveM Credentialรั่ว:
ไม่ได้สิทธิ์ Databaseอื่นโดยอัตโนมัติ
139. Database User Host Restriction
จำกัดว่า User Loginได้จาก:
localhost
Specific IP
ช่วย Security
140. % ใน MySQL User Host Concept
มักใช้หมายถึง Hostหลายตำแหน่ง
แต่การเปิดกว้างเกินไม่เหมาะ Productionโดยไม่จำเป็น
141. Access Deniedแสดง Hostอะไร
อ่านข้อความเช่น:
'user'@'10.x.x.x'
ช่วยบอกว่า Databaseมอง Clientมาจาก Addressไหน
142. Dockerทำให้ Source Hostไม่ใช่127.0.0.1ได้
Databaseอาจเห็น:
Container Network IP
ดังนั้น User Permissionต้องตรง Architecture
143. NATคืออะไรแบบง่าย
Networkแปลง Addressระหว่าง Layers
อาจทำให้ Databaseเห็น Source IPต่างจากที่คิด
144. Hosting Panel Database Hostควรเชื่อก่อน Guess
ถ้า Providerให้ Host:
mysql01.provider.local
อย่าเปลี่ยนเป็น localhostเองโดยไม่มีเหตุผล
145. Test Port Connectivity
Server Adminสามารถทดสอบว่า Host/Portเข้าถึงได้หรือไม่ด้วยเครื่องมือระบบ
แต่ไม่ควรเปิด Portมั่วเพื่อทดสอบ
146. Ping Hostได้ไม่ได้แปลว่าMySQLเปิด
ICMP Pingกับ TCP Portเป็นคนละเรื่อง
147. MySQL Client Testดีกว่า Ping
เพราะทดสอบ:
Host
Port
User
Password
จริง
148. Accessผ่านphpMyAdminไม่ได้พิสูจน์Remote Access
phpMyAdminอาจอยู่เครื่องเดียวกับ Database
แต่ FiveMอยู่คนละ Server
149. Remote FiveMจึงยังถูกFirewall Blockได้
แม้ phpMyAdminทำงานปกติ
150. Connectionจากบ้านได้แต่VPSไม่ได้
อาจเป็น:
IP Allowlist
Provider Firewall
Routing
ต้องแยก Source Network
151. Database Server Loadสูงทำให้Timeoutได้ไหม
ได้
หาก Serviceตอบช้ามากหรือ Connectionsเต็ม
152. CPU Databaseเต็ม
Queriesอาจช้า
แต่ Connection Refusedไม่จำเป็นต้องเกิดจาก CPUอย่างเดียว
153. RAMหมดอาจทำMariaDBถูกKill
บน Linuxอาจมี:
OOM Situation
ส่งผล Serviceหยุด
154. Diskเต็มมีผลDatabaseไหม
มี
MariaDBอาจไม่สามารถ:
Write
Create Logs
Update Tables
ได้
155. Diskเต็มแต่Connectionยังได้
เป็นไปได้
จากนั้น Queryอาจ Errorอีกประเภท
156. ตรวจDisk Spaceควรทำเมื่อDatabaseมีปัญหากว้าง
โดยเฉพาะ Serviceหยุดเอง
157. Database Crash Loopคืออะไร
MariaDB Startแล้วหยุดซ้ำ
ต้องดู:
Database Logs
ไม่ใช่ FiveM Consoleอย่างเดียว
158. MariaDB Error Log สำคัญ
ถ้า Serviceไม่ Start ต้องดู Logฝั่ง Database
159. FiveM Consoleเห็นแค่ผลลัพธ์
เช่น:
Connection refused
แต่เหตุผล MariaDBล่มอาจอยู่ใน Database Log
160. Corrupt TableทำConnectionไม่ได้ไหม
โดยทั่วไป Table Corruptionมักกระทบ Query/Tableมากกว่า Authentication Connection
อย่ารีบสรุปว่า Databaseทั้งหมด Corrupt
161. Database Corruptionเป็นเรื่องใหญ่
ควร Backup/Recoveryตามวิธี Database
ไม่ควร Delete Filesสุ่ม
162. ลบ ibdata หรือ Database Filesเองอันตรายไหม
มาก
อาจทำให้ข้อมูลเสียถาวร
อย่าใช้เป็นวิธีแก้ Connection Errorทั่วไป
163. Reinstall MariaDBอาจทำข้อมูลหาย
หากจัดการ Data Directoryผิด
จึงไม่ใช่ขั้นตอนแรก
164. Connection Errorส่วนใหญ่เริ่มแก้ง่ายกว่า
ตรวจ:
Service
Host
Port
User
Password
Database
ก่อน
165. Checklist Access Denied
Usernameถูกไหม
Passwordถูกไหม
User Hostถูกไหม
Accountถูก Lockไหม
Connection String Parseถูกไหม
166. Checklist Connection Refused
Database Runningไหม
Hostถูกไหม
Portถูกไหม
Listen Addressถูกไหม
Container Networkถูกไหม
167. Checklist Timeout
Host reachableไหม
Firewall
Cloud Firewall
Routing
Database Load
168. Checklist Unknown Database
Databaseสร้างแล้วไหม
ชื่อตรงไหม
Hosting Prefixไหม
169. Checklist Table Missing
SQL Importแล้วไหม
Migrationครบไหม
ใช้ Databaseถูกตัวไหม
170. Checklist Permission Denied
User Grants
Database Scope
Operationที่ Resourceต้องใช้
171. Checklistหลังย้ายHost
ตรวจทุกอย่างใหม่:
IP
Database Host
Username
Password
Database
Firewall
172. Backup Databaseก่อนย้าย
ควรมี:
SQL Dump
Restore Testถ้าเป็นไปได้
173. ย้าย Databaseแต่ลืมเปลี่ยนConnection String
FiveMยังพยายามต่อ:
Serverเก่า
อาจ Timeoutหรือเข้า Databaseผิดตัว
174. Databaseเก่ายังออนไลน์อันตรายไหม
FiveMอาจ Connectสำเร็จแต่ใช้:
Old Data
ทำให้คิดว่าข้อมูลหาย/ย้อนเวลา
175. ตรวจ Database Hostให้แน่ใจ
สำคัญมากหลัง Migration
176. Databaseมีสองชุดชื่อเหมือนกัน
ต้องรู้ว่า FiveMกำลังใช้ Instanceไหน
177. Environment ProductionกับTest
อย่าให้ Production FiveMไปต่อ:
Test Database
โดยไม่ตั้งใจ
178. Test Databaseอาจทำให้Player Dataเหมือนหาย
เพราะข้อมูลอยู่คนละ Database
179. ก่อนคิดว่าข้อมูลถูกลบ
เช็ก:
Host
Database Name
ก่อน
180. Characterทุกคนกลายเป็นใหม่หลังMigration
มีความเป็นไปได้ว่า:
FiveMเชื่อม Databaseเปล่า
ไม่ใช่ข้อมูลเก่าถูก Deleteเสมอไป
181. อย่า Import Backupซ้ำก่อนตรวจ
เพราะอาจ Duplicate/Overwriteข้อมูล
182. Query Databaseปัจจุบันดู Table/Rowsก่อน
ใช้ Read-only Inspectionถ้าไม่แน่ใจ
183. Database Timezoneไม่เกี่ยวกับ Connection Refused
อย่าปะปนปัญหา
Timezoneมีผลหลัง Connectionสำเร็จ
184. SQL Modeไม่ทำให้Password Access Denied
เป็นคนละ Layer
185. Error 1292จากบทความก่อนหน้าเกิดหลังConnectionแล้ว
เพราะ Databaseต้องรับ Queryก่อนจึงสามารถตอบ:
Incorrect datetime value
ได้
186. ลำดับ Layerช่วย Troubleshoot
Network → Authentication → Database → Schema → Query → Data
187. ถ้าติด Network
ยังไม่ต้องตรวจ SQL Query
188. ถ้าติด Authentication
ยังไม่ต้องแก้ Table Schema
189. ถ้า Connectionผ่านแล้ว Missing Table
ค่อยตรวจ Schema
190. ถ้า Schemaผ่านแล้ว Error Data
ค่อยตรวจ Values/Queries
191. วิธีนี้ลดการแก้มั่ว
เพราะแก้ตาม Layerที่ Errorเกิดจริง
192. ตัวอย่าง Access Denied
Access denied for user 'fivem'@'localhost'
ให้ตรวจ:
Account
Password
User Host
193. ตัวอย่าง Unknown Database
Unknown database 'fivem'
ให้ตรวจชื่อ Database/การสร้าง Database
194. ตัวอย่าง ECONNREFUSED
connect ECONNREFUSED 127.0.0.1:3306
ให้ตรวจว่า Database Serviceรับ Connectionที่ Address/Portนั้นจริงไหม
195. ตัวอย่าง Timeout
ETIMEDOUT
เน้น Network/Firewall/Availability
196. ตัวอย่าง Table Missing
Table 'fivem.players' doesn't exist
Connectionผ่านแล้ว
ต้องตรวจ SQL Schema
197. ตัวอย่าง Unknown Column
Unknown column 'citizenid'
อาจเป็น:
Migration
Framework Schema mismatch
198. ตัวอย่าง Duplicate Entry
ไม่ใช่ Connection Error
หมายถึง Queryชน:
Unique Constraint
199. อ่าน Errorให้ครบประหยัดเวลา
อย่าพูดเพียง:
“Database Error”
เพราะกว้างเกิน
200. ขอHelpควรส่งอะไร
Errorเต็ม
Database Resource
Framework
สิ่งที่เพิ่งเปลี่ยน
โดยปิดบัง Credentials
201. ห้ามส่ง Password
แม้คนช่วยจะขอดู Config
ให้ Maskเป็น:
PASSWORD_HIDDEN
202. Host/IPต้องปิดไหม
Public Server IPอาจเป็นข้อมูล Publicอยู่แล้ว แต่ Database Internal Host/Infrastructureไม่จำเป็นต้องเปิดเผยทั้งหมด
203. Connection Stringควร Mask
เช่น:
mysql://fivem:***@127.0.0.1/fivem
204. อย่าMask Error Messageทั้งหมด
ข้อมูล:
Error Code
User Host
Database Name
บางส่วนช่วย Debug
แต่ไม่ต้องเปิด Password
205. Server Ownerมือใหม่มักพลาดอะไร
ใช้ Database Nameผิด
Passwordเก่า
Resource Start Order
ไม่ Import SQL
ใช้ localhostทั้งที่ DBอยู่คนละ Container
206. อีกจุดที่พบบ่อยคือ Hosting Prefix
Database/Userถูกสร้างด้วย Prefixแต่ Configไม่ได้ใช้ชื่อเต็ม
207. อีกจุดคืออักขระพิเศษในPassword
Connection URL Parseผิดได้
208. อีกจุดคือ Database Port
Providerไม่ได้ใช้ 3306เสมอไป
209. อีกจุดคือ Firewall
Remote Databaseไม่อนุญาต FiveM Server IP
210. อีกจุดคือ Role/User Grants
Userเข้าได้แต่ไม่มี Permissionเขียน
211. Character Saveต้องมี Write Permission
ถ้า SELECTได้แต่ UPDATEไม่ได้:
Characterอาจโหลดได้
แต่ Saveไม่ได้
212. อาการโหลดได้แต่เงินไม่Save
อาจเป็น Permission/Query Error
ไม่ใช่ Connectionล้มทั้งหมด
213. Read-only Database User
เหมาะกับ Reportingบางระบบ แต่ไม่เหมาะเป็น Userหลักของ RP Serverที่ต้อง Update Data
214. Database Read-only Modeมีไหม
Database Infrastructureบางแบบอาจถูกตั้ง:
Read-only
ทำให้ SELECTผ่านแต่ Writeล้ม
215. Replica Databaseคืออะไร
ระบบ Databaseบาง Architectureมี Read Replica
ไม่ควรให้ FiveMเขียนไป Replicaที่อ่านอย่างเดียว
216. FiveMขนาดเล็กไม่จำเป็นต้องใช้Architectureซับซ้อน
Databaseเดียวที่ Backupดีและ Securityถูกต้องอาจเพียงพอ
217. Scaleเมื่อจำเป็น
ไม่ควรเพิ่ม:
Proxy
Replica
Remote Layers
ถ้ายังแก้ Basic Connectionไม่มั่นคง
218. Database Proxy คืออะไร
ตัวกลางรับ Database Connection
ใช้ใน Infrastructureบางแบบ
แต่เพิ่ม Layerที่ต้อง Troubleshoot
219. Proxy ErrorอาจดูเหมือนMySQL Error
ต้องรู้ว่า Connection Stringชี้ไป:
Proxy
Databaseโดยตรง
220. DNS Database Hostมีประโยชน์
เปลี่ยน Backendได้โดยไม่ต้องเปลี่ยน IPในทุก Config
แต่ DNS Failureก็เพิ่มอีกจุดหนึ่ง
221. IPตรงลด DNS Dependency
แต่ Migrationต้องแก้ Configหาก IPเปลี่ยน
ไม่มีแบบเดียวดีที่สุด
222. Production Databaseควร Monitor
อย่างน้อยควรรู้:
Service Up/Down
Disk
Connections
223. Monitoringช่วยรู้ก่อนPlayersแจ้ง
เช่น Database Connectionsใกล้เต็ม
224. Health Check คืออะไร
ตรวจว่า Serviceตอบสนองตามปกติหรือไม่
225. FiveM Resourceควร Handle Database Unavailable
Developerควรออกแบบไม่ให้:
Duplicate
Data Corrupt
เมื่อ Databaseชั่วคราวใช้ไม่ได้
226. Retry Connection คืออะไร
Database Clientบางตัวพยายามเชื่อมใหม่หลัง Connectionหลุด
227. Retryไม่ควร Spam
ควรมี Delay/Backoffตาม Design
เพื่อไม่ยิง Connection Requestจำนวนมากตอน Databaseล่ม
228. Backoff คืออะไร
เพิ่มช่วงเวลารอก่อน Retryซ้ำ
เป็นแนวคิด Infrastructure
229. Connection LostกลางQuery
อาจทำ Transaction Stateไม่แน่นอน
Resourceต้อง Handleอย่างระวัง
230. Server Ownerควรเช็กข้อมูลหลังDatabase Outage
โดยเฉพาะระบบ:
Purchases
Banking
Inventory
231. อย่าคิดว่า Query Failทุกครั้งหมายถึงไม่มีการเปลี่ยน Data
Transaction Behaviorขึ้นกับ Operation/ระบบ
จึงควรตรวจจริง
232. Transactionช่วยอะไร
รวมหลาย Operationsให้ Commit/Failร่วมกันเมื่อออกแบบถูกต้อง
233. Bankingควรใช้Transactionอย่างเหมาะสม
เช่น Transfer:
หัก Sender
เพิ่ม Receiver
ควรเกิดอย่างสอดคล้อง
234. Database Connectionไม่เสถียรอาจสร้างEconomy Issue
ถ้า Resource Handle Errorsไม่ดี
235. Duplicate RewardอาจเกิดจากRetry Logicที่ผิด
Developerต้องระวัง Idempotency
236. Idempotency คืออะไรแบบง่าย
การทำ Requestซ้ำแล้วไม่ควรสร้างผลซ้ำเกินที่ตั้งใจ
สำคัญกับ:
Purchases
Payments
237. Server Ownerไม่ต้องแก้ Codeทุกครั้ง
ถ้าเป็น Third-party Resourceควรตรวจ:
Official Update
Known Issues
ก่อนแก้ Source
238. แก้ Third-party Codeเองมี Risk
Updateครั้งหน้าอาจ:
เขียนทับ
Conflict
239. Backup Resourceก่อน Patch
เช่นเดียวกับ Database
240. เปลี่ยน Database Passwordช่วง Server Online
Connectionsเก่าอาจยังอยู่แต่ Connectionsใหม่ Fail
ควรทำเป็น Maintenance Change
241. Credential Rotation คืออะไร
เปลี่ยน Password/Secretตามรอบหรือหลัง Incident
242. หลัง Rotateต้อง Update FiveM Config
และ Restart/Reloadตาม Resource Requirement
243. เก็บ Secretใน Environmentช่วยลดConfig Leak
แต่ Environment Permissionก็ต้องปลอดภัย
244. Server.cfgควร Permissionเหมาะสม
ไม่ให้ Userที่ไม่เกี่ยวอ่าน Credentials
245. FTP Accountรั่วอาจทำ Database Credentialsรั่ว
เพราะ Config Filesอาจถูกดาวน์โหลดได้
246. Server Securityเป็นระบบเชื่อมกัน
FiveM Securityไม่ได้มีแค่ Anti-Cheat
ยังรวม:
OS
Database
Credentials
Backups
247. Database Userไม่ควรใช้ PasswordเดียวกับAdmin Login
ลดผลกระทบจาก Credential Reuse
248. Credential Reuseคืออะไร
ใช้ Passwordเดียวกันหลาย Services
ถ้าหนึ่งจุดรั่วจะเสี่ยงหลายระบบ
249. Backupก่อนแก้ Connectionจำเป็นไหม
การแก้ Host/Passwordอย่างเดียวไม่แก้ Data
แต่ถ้าจะ:
Import
Migration
Grantsใหญ่
Database Move
ควร Backup
250. Import SQLไม่ใช่วิธีแก้ Access Denied
เพราะคุณยัง Login Databaseไม่ได้ด้วย Application User
251. Reset Passwordไม่ใช่วิธีแก้ Unknown Database
ต้องสร้าง/แก้ชื่อ Database
252. เปิด Firewallไม่ใช่วิธีแก้Wrong Password
แยก Error Typeก่อน
253. Restart FiveMไม่ใช่วิธีแก้User Permission
Errorจะกลับมา
254. Clear FiveM Cacheไม่แก้Database Authentication
ปัญหาอยู่ฝั่ง Server Infrastructure
255. Reinstall GTA Vไม่เกี่ยว
Database Errorเกิดฝั่ง FiveM Server
256. Playerทั่วไปแก้Database Connectionได้ไหม
ไม่ได้ถ้าเป็น Server-side Problem
ต้องให้:
Server Owner
Developer
แก้
257. ถ้าเป็นผู้เล่นแล้วเห็น Database Error
ควรแจ้ง Staffพร้อม:
เวลา
สิ่งที่กำลังทำ
ไม่ต้องแก้เครื่องตัวเองก่อน
258. Database Errorเกิดเฉพาะคุณ
ก็ยังอาจเป็น Row/Character-specific Server Error
ไม่จำเป็นต้อง Reinstall FiveM
259. Database Errorเกิดกับทุกคน
ยิ่งชี้ไปที่:
Server
Database
มากขึ้น
260. Characterไม่SaveหลังDisconnect
Server Ownerควรตรวจ Consoleช่วง:
Disconnect
Save Query
261. Database ErrorหลังRestart
ดู Startup Sequenceตั้งแต่ต้น
262. Database Resourceขึ้น Connected
เป็นสัญญาณดี แต่ยังไม่รับประกันว่า:
Schema
All Queries
ถูกต้อง
263. Connection Success ≠ Database Setup Complete
ยังต้องมี:
Tables
Columns
Migrations
264. Database Setup Complete ≠ Resourceไม่มีBug
Queries/Dataยังผิดได้
265. Troubleshootingต้องแยก Layer
นี่เป็นหลักสำคัญที่สุดของบทความนี้
266. Layer 1 — Service
MariaDB/MySQLทำงานไหม
267. Layer 2 — Network
FiveMติดต่อ Host/Portได้ไหม
268. Layer 3 — Authentication
Username/Password/User Hostถูกไหม
269. Layer 4 — Database
ชื่อ Databaseมีไหม
270. Layer 5 — Permission
Userทำ Queryที่ต้องการได้ไหม
271. Layer 6 — Schema
Tables/Columnsตรง Resourceไหม
272. Layer 7 — Query/Data
SQLและค่าที่ส่งถูกไหม
273. ถ้าทำตาม LayerจะหาRoot Causeเร็ว
เพราะไม่กระโดดจาก:
Password
→ Cache
→ SQL Mode
→ Reinstall
แบบสุ่ม
274. ตัวอย่าง Flow Access Denied
Error
↓
Databaseตอบแล้ว
↓
Networkผ่าน
↓
ตรวจ User/Password/Host Grant
275. ตัวอย่าง Flow Connection Refused
Error
↓
ยังเข้า Serviceไม่ได้
↓
ตรวจ Database Running/Host/Port
276. ตัวอย่าง Flow Unknown Database
Connection/Authผ่าน
↓
ตรวจ Database Name/Create Database
277. ตัวอย่าง Flow Table Missing
Connection/Auth/Databaseผ่าน
↓
ตรวจ Import/Migration
278. ตัวอย่าง Flow Incorrect datetime
Connectionผ่านไปถึง Queryแล้ว
↓
ตรวจ Data/Schema
279. Checklistก่อนเปิด FiveM Production
Database Service Running
Connection Stringถูก
Application Userถูก
Databaseมี
Schema Importแล้ว
Resource Start Orderถูก
Backupมี
280. Checklistหลังย้าย Database
Hostใหม่
Portใหม่
Userใหม่/เดิม
Password
Database Name
Firewall
Dataครบ
Config FiveMอัปเดต
281. Checklistหลังเปลี่ยนPassword
FiveM Config
Environment Secret
Restart Resourceตามจำเป็น
Test Connection
282. ChecklistหลังUpdate Resource
Documentation
Database Migration
Dependencies
Startup Errors
283. Checklistเมื่อPlayersเข้าไม่ได้ทั้งเมือง
ดู:
FiveM Server
Database Resource
MariaDB Service
Infrastructure Status
284. Checklistเมื่อมีเพียงCharacterเดียวเข้าไม่ได้
ดู:
Character Row
Query Error
หลังพิสูจน์ว่า Connectionโดยรวมทำงาน
285. Common Error Mapping
| Error | จุดที่ควรตรวจ |
|---|---|
| Access denied | User / Password / Host Permission |
| Connection refused | Service / Host / Port |
| ETIMEDOUT | Network / Firewall |
| Unknown database | Database Name |
| Table doesn't exist | Schema / Import |
| Unknown column | Migration / Version |
| Command denied | SQL Permission |
| Too many connections | Pool / DB Limit / Leak |
| Incorrect datetime | Query / Data / Schema |
286. สิ่งที่ไม่ควรทำ
| วิธี | เพราะอะไร |
|---|---|
| ล้าง FiveM Cache | ไม่แก้ Server DB Credentials |
| Reinstall GTA | ไม่เกี่ยวกับ Server Database |
| เปิด Portทุกอย่าง | เพิ่ม Security Risk |
| ใช้ rootถาวร | Permissionกว้างเกิน |
| Import SQLซ้ำมั่ว | เสี่ยง Schema/Data |
| ลบ Database | เสี่ยงข้อมูลหาย |
| เปลี่ยนหลายจุดพร้อมกัน | หา Root Causeยาก |
287. FAQ — FiveM เชื่อม MySQL ไม่ได้ทำอย่างไร
เริ่มตรวจตามลำดับ:
Databaseทำงานไหม
Host/Portถูกไหม
Username/Passwordถูกไหม
Database Nameถูกไหม
Userมี Permissionไหม
288. Access denied for userแก้อย่างไร
ตรวจ:
Username
Password
User Host Permission
ก่อน
289. ECONNREFUSEDแก้อย่างไร
ตรวจว่า MariaDB/MySQLกำลัง Listenที่:
Host
Port
ที่ Connection Stringระบุหรือไม่
290. Unknown databaseแก้อย่างไร
ตรวจชื่อ Databaseและสร้าง Database/Import Schemaตาม Resource Documentationถ้ายังไม่มี
291. FiveMใช้ Port 3306เสมอไหม
ไม่
3306พบได้บ่อย แต่ Databaseสามารถใช้ Portอื่นได้
292. ใช้ localhostหรือ127.0.0.1
ขึ้นอยู่กับ Environment
ถ้า Databaseอยู่คนละ Container/Server อาจใช้ไม่ได้ทั้งคู่
293. oxmysqlขึ้น Connection Errorเพราะอะไร
อาจเกิดจาก:
Host
Port
Credentials
Database
Network
ต้องอ่าน Errorเต็ม
294. ต้อง Start oxmysqlก่อน Frameworkไหม
Resourcesที่พึ่ง Databaseควรรอ Database Resourceพร้อมตาม Dependency/Configurationของระบบ
295. Databaseเข้า phpMyAdminได้แต่ FiveMไม่ได้
ตรวจว่า FiveMใช้ Credentials/Hostเดียวกันจริงหรือไม่ และ Remote Accessถูกอนุญาตหรือไม่
296. Passwordมี @ แล้วเชื่อมไม่ได้
ถ้าใช้ URL-style Connection String อักขระพิเศษอาจต้องถูก Encodeตามรูปแบบที่ Resourceรองรับ
297. เปลี่ยนPasswordแล้วFiveMใช้ไม่ได้
ตรวจว่า Connection Stringถูกอัปเดตแล้วหรือยัง
298. Databaseอยู่คนละ VPSต้องทำอะไร
ต้องมี:
Network Reachability
Firewall Rule
Database User Host Permission
ที่เหมาะสม
299. เปิด3306ให้ทั้งโลกดีไหม
ไม่
ควรจำกัด Sourceเท่าที่จำเป็น
300. ใช้ rootกับFiveMได้ไหม
ทาง Technicalอาจ Connectionได้ แต่ Productionควรใช้ Userเฉพาะที่มี Permissionเหมาะสมมากกว่า
301. Database Userไม่มีINSERTทำอย่างไร
ต้องแก้ Permissionให้ตรง Operationsที่ Resourceต้องใช้
302. Characterโหลดได้แต่Saveไม่ได้
ตรวจ:
UPDATE/INSERT Permission
Query Errors
303. Table doesn't existแก้อย่างไร
Import/Migrate Schemaที่ถูก Version
อย่าแก้ Connection Stringถ้ามันเชื่อมได้แล้ว
304. Unknown columnแก้อย่างไร
ตรวจว่า Resourceกับ Database Schemaเป็น Versionเดียวกัน
305. Too many connectionsแก้อย่างไร
ตรวจ:
Connection Pool
Leaks
DB Limits
Resource Load
ก่อนเพิ่ม Limitแบบสุ่ม
306. FiveM Databaseหลุดเป็นพัก ๆ
อาจเกิดจาก:
Network
Database Restart
Resource Limits
ต้องดู Logsทั้ง FiveMและ Database
307. Database Connectionช้าทำอย่างไร
ตรวจ:
Network Latency
Database Load
DNS
แยกจาก Slow Query
308. Clear Cacheช่วยไหม
สำหรับ Server-side MySQL Authentication/Connection Error:
โดยทั่วไปไม่ใช่จุดแก้หลัก
309. Restart Serverช่วยไหม
ถ้า Errorมาจาก Credentialผิด:
ไม่ช่วย
แต่ Resource/Service Stateบางกรณีอาจถูก Reset
310. ต้องลบ Databaseสร้างใหม่ไหม
แทบไม่ควรเป็นขั้นแรกของ Connection Error
311. Databaseข้อมูลหายหลังแก้Connection
ก่อนสรุปว่าหาย ให้เช็กว่า FiveMกำลังเชื่อม:
Databaseตัวถูก
Hostตัวถูก
หรือไม่
312. วิธีดูว่าต่อ Databaseผิดตัวไหม
ตรวจ:
Connection Config
Database Name
Recordsล่าสุด
อย่างระมัดระวัง
313. Errorเกิดหลังย้าย Hosting
สาเหตุยอดนิยมคือ:
Hostเปลี่ยน
Database Prefixเปลี่ยน
Firewall
Credentials
314. ErrorเกิดหลังDocker Migration
ตรวจ:
Container Network
Service Name
Internal Port
ก่อน
315. ErrorเกิดหลังFirewall Update
ตรวจ Ruleฝั่ง:
Database
Cloud Provider
316. ErrorเกิดหลังDatabase Password Rotation
ตรวจ Secret/Configทุกจุดที่ Applicationใช้
317. ErrorเกิดหลังMariaDB Restart
ถ้า FiveMไม่ Reconnectเอง:
Database Resourceอาจต้อง Restart/Reconnectตาม Design
318. Databaseกลับมาแล้ว FiveMยัง Error
ตรวจ Connection Pool Stateและ Resource Logs
319. Production Serverควรมี Monitoringไหม
มีประโยชน์มาก โดยเฉพาะ:
Database Up/Down
Disk
Connections
320. สรุป Workflow แก้ FiveM Database Connection
Read exact error
↓
Check DB service
↓
Check host/port
↓
Check username/password
↓
Check database name
↓
Check permissions
↓
Check schema
↓
Test affected resource
สรุป FiveM MySQL Connection Error แก้อย่างไร
FiveM MySQL/MariaDB Connection Error เกิดได้ตั้งแต่ Database Service ไม่ทำงาน, Host หรือ Port ผิด, Username/Password ไม่ถูกต้อง, User ไม่มี Permission, Firewall Block, Database Name ผิด ไปจนถึง FiveM กำลังเชื่อม Database คนละตัวกับที่คิด
สิ่งสำคัญคืออย่าเหมารวม Errorทุกแบบเป็น “MySQL พัง”
ให้แยกตามข้อความ:
Access Denied → Credentials/Permission
Connection Refused → Service/Host/Port
Timeout → Network/Firewall
Unknown Database → Database Name
Missing Table → Schema/Migration
สิ่งที่ comsiam แนะนำคือแก้ปัญหาตาม Layerจากด้านนอกเข้าไปด้านใน — เริ่มจาก Service และ Network ก่อน Authentication จากนั้นจึงตรวจ Database, Permission, Schema และ Query วิธีนี้เร็วกว่าการเปลี่ยน Configหลายจุดพร้อมกันและช่วยลดโอกาสทำ Production Databaseเสียโดยไม่จำเป็น
อีกสิ่งที่ comsiam ย้ำคืออย่าใช้ Database root เป็น Application Accountถาวรเพียงเพราะแก้ Access Deniedได้ง่ายกว่า และอย่าเปิด Database Portสู่ Internetทั้งหมดโดยไม่มี Firewall ควรสร้าง Userเฉพาะ FiveM ให้ Permissionเท่าที่จำเป็น ป้องกัน Connection String และ Backupข้อมูลก่อนทำ Migrationหรือแก้ Schemaครั้งใหญ่
Comments
Post a Comment