การสร้างฐานข้อมูล MySQL ไม่ใช่เพียงการกดปุ่ม Create เท่านั้น แต่เป็นกระบวนการที่รวมถึงการตั้งค่าโครงสร้างชื่อ ผู้ใช้และสิทธิ์, charset/collation, การเข้าใช้งานผ่าน phpMyAdmin, ไปจนถึง การเชื่อมต่อเว็บ/แอป และการแก้ Error บทความนี้ คือขั้นตอนการสร้างข้อมูล เพื่อให้คุณสามารถตั้งทีเดียวและใช้ได้นานบนDirectAdmin
หากคุณต้องการเริ่มต้นบนเครื่องที่มีระบบการจัดการผ่านแผงอย่างสะดวก ขอแนะนำ DirectAdmin VPS เหมาะสำหรับเอเจนซี่หรือเดฟที่ดูแลหลายโดเมนในเครื่องเดียว
1. ล็อกอินเข้า DirectAdmin (ธีม Evolution)
2. ไปที่ Account Manager จากนั้นคลิก MySQL Management
3. คลิก Create New Database
Database คือหน้าที่ใช้สร้างและจัดการฐานข้อมูลทั้งหมด
4. กรอกข้อมูลฐานข้อมูล
- Database Name คือ ชื่อฐาน เช่น shop_prod (ควรตั้งให้สั้นและสื่อถึงโปรเจกต์ เช่น prod = production จริง, stg = staging ทดสอบ)
- Database User คือ ชื่อผู้ใช้ที่เข้าถึงฐานและเป็นผู้ใช้ที่มีสิทธิ์เข้า DB* (Database User ไม่ใช่ User ของ DirectAdmin ) ควรตั้งชื่อ เช่น shop_user
- Password คือ รหัสผ่านของ User (ไม่ใช่รหัส DirectAdmin) ควรตั้งรหัสผ่านที่เดายาก (ผสมตัวอักษร + ตัวเลข + สัญลักษณ์)
5. จากนั้นกด Create ระบบจะสร้าง Database พร้อม User ให้ทันที
*DB=Database
Tip: ข้อมูล DB Name, User, Host, Password ควรเก็บไว้ใน Password Manager เพื่อความปลอดภัย
ถ้าลืม Password DB User ให้ลองติดต่อแอดมินมาได้เลยครับ
6. จัดการสิทธิ์ผู้ใช้
สิทธิ์ (Privileges) คือ ระดับการเข้าถึง เช่น
- SELECT = อ่านข้อมูล
- INSERT = เพิ่มข้อมูล
- UPDATE = แก้ไขข้อมูล
- DELETE = ลบข้อมูล
สำหรับเว็บทั่วไป ให้สิทธิ์แค่ 4 อย่างนี้ก็เพียงพอ ไม่ควรให้สิทธิ์ DROP/ALTER (เสี่ยงลบทั้งตาราง/ฐาน)
- แต่ถ้าต้องการให้ผู้ใช้เดิมเข้าถึงหลายฐาน ให้เลือก “Attach Existing User”
7. ตั้งค่ารองรับภาษาไทย
แนะนำเลือก utf8mb4 และ utf8mb4_unicode_ci จะช่วยรองรับภาษาไทย + อีโมจิ และลดปัญหาตัวหนังสือเพี้ยน (ถ้าเลือกผิด เวลา export/import จะเจอปัญหาตัวหนังสือเพี้ยนเป็น ???)
8. ทดสอบเข้าใช้งานผ่าน phpMyAdmin
จากเมนู DirectAdmin เลือก phpMyAdmin และล็อกอินด้วย Database User/Password (ไม่ใช่รหัส DirectAdmin)
Import/Export อย่างถูกวิธี
- Import (นำเข้า)
- รองรับไฟล์ .sql และ .sql.gz
- ตรวจให้ charset/collation ของไฟล์ตรงกับฐานปลายทาง
- ถ้าไฟล์ใหญ่เกิน phpMyAdmin จัดการไม่ไหว ให้บีบอัดเป็น .sql.gz หรือแยกเป็นไฟล์เล็ก แต่ถ้ายังไม่ได้ให้ลองใช้ SSH รันคำสั่งด้านล่าง
mysql -u USER -p DBNAME < file.sql
- Export (ส่งออก)
- เลือกโหมด Quick (ด่วน) หรือ Custom (กำหนดเอง) ตามความต้องการ
- แนะนำให้บีบอัดไฟล์เพื่อลดขนาดและช่วยอัปโหลด/ดาวน์โหลดได้เร็วขึ้น
ใช้สำหรับทำ Backup หรือย้ายฐานข้อมูลไปยังเครื่องใหม่
เชื่อมต่อเว็บ/แอปกับ MySQL
ค่าเชื่อมต่อพื้นฐาน (DB_HOST, DB_PORT, DB_USER, DB_PASSWORD) ต้องใส่ในไฟล์ config หรือ .env ของเว็บ
- ตัวอย่าง ปกติใช้ค่า:
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=shop_prod
DB_USERNAME=shop_user
DB_PASSWORD=StrongP@ssw0rd!
Tip: แนะนำแยก ENV (dev/stg/prod) ชัดเจน เพื่อป้องกันเชื่อมผิด และเชื่อมต่อเว็บผ่าน localhost:3306 เมื่อติดตั้งบนเครื่องเดียวกัน
ENV = Environment file (ไฟล์เก็บค่าลับ เช่น password) ใช้แยก dev/staging/prod เพื่อป้องกันการเชื่อมผิด
สำรองและกู้คืนข้อมูล
- ตั้งรอบ Backup (รายวัน/รายสัปดาห์ตามงาน)
- ทดสอบ Backup/Restore เป็นระยะเพื่อป้องกันข้อมูลหาย
- เวลาย้ายเครื่อง: Export → Import → อัปเดตค่าเชื่อมต่อ ควรตรวจสอบก่อนเปิดเว็บ
สรุป
การสร้างฐานข้อมูล MySQL บน DirectAdminให้ถูกต้องตั้งแต่ต้น จะสามารถช่วยลดปัญหาที่เกี่ยวกับการเชื่อมต่อ และการแก้ไขในภายหลังได้มาก หลักการสำคัญคือ ตั้งชื่อให้สั้นและมีความหมาย, ใช้ utf8mb4, ผูกบัญชีผู้ใช้ให้ตรงกับฐานข้อมูลและกำหนดสิทธิ์ที่จำเป็นเท่านั้น, เก็บรหัสผ่านให้อยู่ในที่ปลอดภัย, เชื่อมต่อผ่าน localhost:3306 เมื่ออยู่บนเครื่องเดียวกัน แและ ทดสอบ Import/Export/Restore เป็นระยะ เพื่อให้มั่นใจว่าระบบพร้อมใช้งานอย่างมีประสิทธิภาพ
นิกร รักยิ่งงาม
นิกรเป็นผู้เชี่ยวชาญด้าน IT Support มากกว่า 12 ปี รับผิดชอบการช่วยเหลือลูกค้าด้านเทคนิคเกี่ยวกับ Windows Server, Linux Server, Forex VPS, Web Server, เว็บไซต์ CMS รวมถึงการตั้งค่า Domain และ DNS โดยเน้นการแก้ปัญหาแบบเข้าใจง่าย ทำให้ระบบกลับมาใช้งานได้เสถียรและปลอดภัย
นิกร รักยิ่งงาม
นิกรเป็นผู้เชี่ยวชาญด้าน IT Support มากกว่า 12 ปี รับผิดชอบการช่วยเหลือลูกค้าด้านเทคนิคเกี่ยวกับ Windows Server, Linux Server, Forex VPS, Web Server, เว็บไซต์ CMS รวมถึงการตั้งค่า Domain และ DNS โดยเน้นการแก้ปัญหาแบบเข้าใจง่าย ทำให้ระบบกลับมาใช้งานได้เสถียรและปลอดภัย


