วิธีสร้าง MySQL Database ใน DirectAdmin

ฐานข้อมูล MySQL คือหัวใจของเว็บไซต์ส่วนใหญ่ ไม่ว่าจะเป็น WordPress, WooCommerce, Joomla หรือระบบที่พัฒนาเอง DirectAdmin มีส่วน Databases ที่ช่วยให้คุณสร้างและจัดการ MySQL Database ได้อย่างง่ายดาย โดยไม่ต้องใช้คำสั่ง SQL โดยตรง

Databases Section ใน DirectAdmin คืออะไร

ส่วน Databases ใน DirectAdmin คือเครื่องมือจัดการฐานข้อมูล MySQL ที่มาพร้อมกับ Hosting แต่ละบัญชี คุณสามารถสร้าง Database ใหม่ สร้าง User พร้อมรหัสผ่าน กำหนดสิทธิ์การเข้าถึง และเชื่อมต่อ User เข้ากับ Database ได้ทั้งหมดผ่านหน้า Web Interface นอกจากนี้ยังมีลิงก์เชื่อมไปยัง phpMyAdmin สำหรับจัดการข้อมูลในระดับลึกอีกด้วย

ขั้นตอนสร้าง MySQL Database ใหม่

เริ่มต้นด้วยการเข้าสู่ระบบ DirectAdmin ของคุณ จากนั้นทำตามขั้นตอนดังนี้:

  1. ไปที่หมวด Advanced Features แล้วคลิก MySQL Management
  2. คลิกปุ่ม Create New Database
  3. กรอกชื่อ Database ที่ต้องการ เช่น mydb (ระบบจะเพิ่ม prefix ของ account ให้อัตโนมัติ)
  4. คลิก Create เพื่อสร้าง Database

หลังจากสร้าง Database แล้ว ชื่อจริงที่ได้จะเป็นรูปแบบ username_mydb ซึ่งเป็นชื่อที่ต้องใช้ในการตั้งค่าเชื่อมต่อฐานข้อมูลในโปรแกรมหรือ CMS ของคุณ

สร้าง Database User และตั้งรหัสผ่าน

หลังสร้าง Database แล้ว ให้สร้าง User สำหรับเชื่อมต่อ Database ดังนี้:

  1. ในหน้า MySQL Management คลิก Create New User
  2. กรอกชื่อ User ที่ต้องการ เช่น user1
  3. กรอกรหัสผ่านที่ปลอดภัย หรือใช้ปุ่ม Generate เพื่อสร้างรหัสผ่านอัตโนมัติ
  4. คลิก Create

ชื่อ User ที่สร้างได้จะเป็นรูปแบบ username_user1 เช่นกัน ควรจดบันทึกรหัสผ่านไว้เพื่อใช้ในการตั้งค่าเว็บไซต์

กำหนด Privileges (ALL PRIVILEGES)

การกำหนด Privileges คือการระบุว่า User มีสิทธิ์ทำอะไรกับ Database บ้าง สำหรับเว็บไซต์ทั่วไปควรให้สิทธิ์ ALL PRIVILEGES เพื่อให้ทำงานได้สมบูรณ์:

เชื่อม User กับ Database

หลังสร้าง Database และ User แล้ว ต้องเชื่อมทั้งสองเข้าหากันก่อนจึงจะใช้งานได้:

  1. ในหน้า MySQL Management คลิกที่ชื่อ Database ที่ต้องการ
  2. ในส่วน Add User to Database เลือก User จาก dropdown
  3. เลือก Privileges ที่ต้องการ หรือเลือก All Privileges
  4. คลิก Add เพื่อบันทึก

สำคัญ: ชื่อ Database และ User จะมี prefix เป็นชื่อ account โดยอัตโนมัติ เช่น หาก account ชื่อ mysite และสร้าง database ชื่อ wp ชื่อจริงที่ได้คือ mysite_wp ต้องใช้ชื่อนี้ในการตั้งค่าเชื่อมต่อฐานข้อมูล

วิธีเข้า phpMyAdmin จาก DirectAdmin

phpMyAdmin คือเครื่องมือจัดการ MySQL ผ่านเว็บบราวเซอร์ เข้าถึงได้จาก DirectAdmin โดยตรง:

  1. ไปที่หมวด Advanced Features คลิก MySQL Management
  2. คลิกไอคอน phpMyAdmin ข้างชื่อ Database ที่ต้องการ
  3. ระบบจะนำคุณไปยังหน้า phpMyAdmin โดยอัตโนมัติโดยไม่ต้องกรอก Username/Password

ใน phpMyAdmin คุณสามารถ Browse ข้อมูลในตาราง รันคำสั่ง SQL จัดการโครงสร้าง และ Import/Export ข้อมูลได้

Import/Export Database ผ่าน phpMyAdmin

การ Import Database

ใช้เมื่อต้องการนำเข้าข้อมูลหรือย้ายเว็บไซต์จากที่อื่น:

  1. เปิด phpMyAdmin แล้วเลือก Database ที่ต้องการ Import ในแผงซ้าย
  2. คลิกแท็บ Import ที่แถบเมนูด้านบน
  3. คลิก Choose File แล้วเลือกไฟล์ .sql หรือ .sql.gz
  4. คลิก Go เพื่อเริ่มนำเข้าข้อมูล

การ Export Database

ใช้เมื่อต้องการสำรองข้อมูลหรือย้ายข้อมูลไปที่อื่น:

  1. เลือก Database ในแผงซ้าย แล้วคลิกแท็บ Export
  2. เลือกรูปแบบ SQL และเลือก Quick สำหรับการ Export แบบง่าย
  3. คลิก Go ไฟล์ .sql จะถูก Download ลงเครื่อง
หน้า Databases แสดงรายการ MySQL Database ที่มีอยู่
หน้า Databases แสดงรายการ MySQL Database ที่มีอยู่
กดปุ่ม Create Database (วงแดง) เพื่อสร้าง Database ใหม่
กดปุ่ม Create Database (วงแดง) เพื่อสร้าง Database ใหม่
กรอกชื่อ Database, Username และ Password แล้วกด Create
กรอกชื่อ Database, Username และ Password แล้วกด Create

ประเภท Database ที่รองรับใน DirectAdmin

DirectAdmin รองรับการจัดการฐานข้อมูลผ่านระบบ MySQL และ MariaDB ซึ่งเป็นฐานข้อมูลที่นิยมใช้งานมากที่สุดในโลกของ Web Hosting โดย MariaDB เป็น fork ของ MySQL ที่พัฒนาต่อโดยชุมชนและผู้พัฒนา MySQL เดิม ทั้งสองตัวมีความเข้ากันได้กันเกือบ 100% ทำให้แอปพลิเคชันที่เขียนสำหรับ MySQL ทำงานได้บน MariaDB โดยไม่ต้องแก้ไขโค้ด

กฎการตั้งชื่อ Database (Prefix Naming)

DirectAdmin บังคับให้ชื่อ Database และ Database User มี prefix เป็นชื่อบัญชี Hosting ของคุณเสมอ เพื่อป้องกันความซ้ำซ้อนระหว่างบัญชีต่าง ๆ บนเซิร์ฟเวอร์เดียวกัน ตัวอย่างเช่น:

ต้องใช้ชื่อเต็ม (พร้อม prefix) ทุกครั้งที่ตั้งค่าเชื่อมต่อฐานข้อมูล เช่นใน wp-config.php, ไฟล์ .env หรือไฟล์ configuration อื่น ๆ การใส่ชื่อสั้น ๆ โดยไม่มี prefix จะทำให้เกิดข้อผิดพลาด "Database not found" ทันที

การสร้าง Database User และกำหนดสิทธิ์

การสร้าง Database User เป็นขั้นตอนที่แยกออกจากการสร้าง Database ใน DirectAdmin คุณสร้าง User ก่อนแล้วค่อยผูก User นั้นกับ Database ที่ต้องการ ซึ่งทำให้สามารถใช้ User เดียวกันกับหลาย Database ได้ หรือสร้าง User หลายคนที่มีสิทธิ์ต่างกันสำหรับ Database เดียวกันก็ได้

ALL PRIVILEGES คืออะไร

ALL PRIVILEGES คือการให้สิทธิ์ทุกอย่างที่มีใน MySQL/MariaDB ได้แก่ SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER เหมาะสำหรับ Application เช่น WordPress, WooCommerce, Joomla, Drupal ที่ต้องการสิทธิ์ครบเพื่อติดตั้งและอัปเดตโครงสร้างฐานข้อมูลได้เอง

สิทธิ์เฉพาะ (Specific Grants)

สำหรับระบบที่ต้องการความปลอดภัยสูงกว่า เช่น ฐานข้อมูลที่ใช้แค่อ่านข้อมูล หรือ User สำหรับระบบ Reporting คุณอาจกำหนดเฉพาะสิทธิ์ที่จำเป็น:

ข้อควรระวัง: WordPress และ CMS หลายตัวต้องการสิทธิ์ CREATE และ ALTER เพื่อรันการ Migrate ฐานข้อมูลเวลาอัปเดตเวอร์ชัน ถ้าให้สิทธิ์ไม่ครบอาจทำให้การอัปเดตล้มเหลวได้

การ Import/Export Database ผ่าน phpMyAdmin และ Command Line

นอกจากการ Import/Export ผ่าน phpMyAdmin ที่อธิบายไปแล้ว ยังมีอีกวิธีสำหรับ Database ขนาดใหญ่ที่ phpMyAdmin อาจ Timeout ได้

ข้อจำกัดของ phpMyAdmin

phpMyAdmin มีขีดจำกัดขนาดไฟล์ที่ Upload ได้ (โดยทั่วไปประมาณ 64MB–256MB ขึ้นอยู่กับการตั้งค่า PHP) และมี Timeout ของ PHP Script ด้วย Database ที่มีขนาดใหญ่กว่านั้น ควรใช้วิธีอื่น

Import/Export ผ่าน SSH Command Line

หากมีสิทธิ์เข้า SSH (มักมีใน VPS หรือ Server เต็มรูปแบบ) สามารถใช้คำสั่ง mysqldump ได้โดยตรง:

Import ไฟล์ขนาดใหญ่ผ่าน phpMyAdmin

ถ้าไฟล์ใหญ่เกิน Limit ของ phpMyAdmin แต่ไม่มี SSH ลองวิธีเหล่านี้:

การแก้ปัญหา Database Connection Error

Database Connection Error เป็นหนึ่งในข้อผิดพลาดที่พบบ่อยที่สุดเมื่อตั้งค่าเว็บไซต์ใหม่ โดยเฉพาะ WordPress ที่จะแสดงข้อความ "Error establishing a database connection" เมื่อเชื่อมต่อไม่ได้ สาเหตุหลักมี 4 ข้อ:

1. ชื่อ Database หรือ User ผิด

ตรวจสอบว่าใช้ชื่อเต็มพร้อม prefix เสมอ เช่น mysite_wpdb ไม่ใช่ wpdb เปิด DirectAdmin → MySQL Management เพื่อดูชื่อจริง

2. รหัสผ่านผิด

รหัสผ่านที่กรอกใน config ต้องตรงกับที่ตั้งไว้ใน DirectAdmin ทุกตัวอักษร รวมถึงตัวพิมพ์เล็ก-ใหญ่และอักขระพิเศษ ถ้าไม่แน่ใจให้ Reset รหัสผ่าน User ใน MySQL Management แล้วอัปเดตใน config ด้วย

3. ชื่อ Host ผิด

สำหรับ Hosting ทั่วไป ค่า Database Host ต้องเป็น localhost เสมอ ห้ามใส่ IP ของเซิร์ฟเวอร์หรือชื่อโดเมนลงในช่อง Host เพราะ MySQL บน Hosting จะ Listen เฉพาะ localhost connection

4. Max Connections เกิน Limit

หากเว็บไซต์มีผู้เข้าชมพร้อมกันจำนวนมาก อาจเกิน Limit การเชื่อมต่อพร้อมกันที่ MySQL อนุญาต ทำให้ Connection ใหม่ถูก Refuse ชั่วคราว แก้ไขโดยเพิ่ม Connection Pooling ในโปรแกรม หรือติดต่อทีม AsiaGB เพื่อตรวจสอบค่า max_connections บน Server

เริ่มต้นใช้งาน Hosting กับ AsiaGB

Hosting SSD พร้อม MySQL, phpMyAdmin, DirectAdmin และ SSL ฟรี เหมาะสำหรับเว็บไซต์ WordPress และระบบทุกประเภท

ดูแพ็กเกจ Hosting