ลดความยุ่งยากในการใช้คลาวด์ พูดคุยกับเจ้าหน้าที่

Home สร้างฐานข้อมูลและผู้ใช้ฐานข้อมูลบน Plesk

สร้างฐานข้อมูลและผู้ใช้ฐานข้อมูลบน Plesk

เว็บไซต์ส่วนใหญ่ เช่น WordPress, Joomla, Laravel หรือระบบร้านค้าออนไลน์ ต้องใช้ฐานข้อมูลเก็บเนื้อหาและข้อมูลสมาชิก บน Plesk ฐานข้อมูลแต่ละตัวจะผูกกับเว็บไซต์ (Domain) ในแพ็กเกจของคุณ และเข้าใช้งานผ่านผู้ใช้ฐานข้อมูล (Database User) ที่มีรหัสผ่านแยกจากบัญชี Plesk

บทความนี้อธิบายการสร้างฐานข้อมูลพร้อมผู้ใช้ การเพิ่มผู้ใช้ภายหลัง การนำค่าไปใส่ในไฟล์ตั้งค่าของเว็บ การนำเข้าข้อมูลเดิม และการเปิดให้เชื่อมต่อจากเครื่องอื่นอย่างปลอดภัย ถ้าจะติดตั้ง WordPress แบบอัตโนมัติ Plesk จะสร้างฐานข้อมูลให้เอง ดู การติดตั้ง WordPress บน Plesk

สิ่งที่ต้องเตรียม

  • บัญชีเข้า Plesk Obsidian ของเว็บไซต์ (สิทธิ์ลูกค้าหรือผู้ดูแล)
  • แพ็กเกจที่ยังมีโควตาฐานข้อมูลเหลือ ดูได้ที่หน้า Statistics หรือ Account ของ Plesk (ชื่อเมนูอาจต่างกันตามการตั้งค่า)
  • ถ้าจะนำเข้าข้อมูลเดิม ให้เตรียมไฟล์ .sql หรือ .sql.gz ที่ Export มาจากที่เดิม

ขั้นตอนที่ 1: สร้างฐานข้อมูลพร้อมผู้ใช้

  1. เข้า Plesk แล้วไปที่ Websites & Domains หรือเมนู Databases ทางซ้าย
  2. กด Add Database
  3. ช่อง Database name ตั้งชื่อด้วยตัวอักษรภาษาอังกฤษ ตัวเลข และขีดล่าง เช่น shop_db บางเซิร์ฟเวอร์ตั้งให้เติมคำนำหน้า (Prefix) อัตโนมัติ ชื่อจริงจะเป็นเช่น example_shop_db ให้จดชื่อตามที่แสดงหลังสร้าง
  4. ช่อง Related site เลือกโดเมนที่จะใช้ฐานข้อมูลนี้
  5. ช่อง Database server เลือกเซิร์ฟเวอร์ MySQL/MariaDB (ปกติมีตัวเลือกเดียวคือ localhost)
  6. ติ๊ก Create a database user แล้วตั้ง Database user name เช่น shop_user และตั้งรหัสผ่าน หรือกด Generate เพื่อสร้างรหัสผ่านแบบสุ่ม
  7. ถ้าต้องการให้ผู้ใช้นี้เข้าได้เฉพาะฐานข้อมูลนี้ ให้เอาติ๊ก User has access to all databases within the selected subscription ออก
  8. กด OK

ฐานข้อมูลใหม่จะปรากฏในรายการ พร้อมปุ่ม phpMyAdmin, Connection Info, Export Dump, Import Dump และ User Management

หมายเหตุ: จดรหัสผ่านผู้ใช้ฐานข้อมูลไว้ในที่ปลอดภัยทันที Plesk จะไม่แสดงรหัสผ่านเดิมให้ดูอีก ถ้าลืมต้องตั้งรหัสใหม่ และต้องแก้ไฟล์ตั้งค่าเว็บให้ตรงด้วย

ขั้นตอนที่ 2: ดูค่าสำหรับเชื่อมต่อ

กด Connection Info ใต้ชื่อฐานข้อมูล Plesk จะแสดงชื่อ Host, ชื่อฐานข้อมูล และชื่อผู้ใช้ พร้อมตัวอย่างโค้ดเชื่อมต่อสำหรับ PHP, Perl, JDBC และอื่นๆ

สำหรับเว็บที่อยู่บนเซิร์ฟเวอร์เดียวกัน ค่า Host มักเป็น localhost ตัวอย่างการกรอกใน wp-config.php ของ WordPress

define( 'DB_NAME', 'example_shop_db' );
define( 'DB_USER', 'shop_user' );
define( 'DB_PASSWORD', 'รหัสผ่านที่ตั้งไว้' );
define( 'DB_HOST', 'localhost' );

ตัวอย่างไฟล์ .env ของ Laravel

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=example_shop_db
DB_USERNAME=shop_user
DB_PASSWORD="รหัสผ่านที่ตั้งไว้"

ขั้นตอนที่ 3: เพิ่มผู้ใช้หรือเปลี่ยนรหัสผ่าน

กรณีต้องการผู้ใช้แยกสำหรับงานต่างกัน เช่น ผู้ใช้สำหรับเว็บ และผู้ใช้อ่านอย่างเดียวสำหรับทำรายงาน

  1. ในหน้า Databases กด User Management
  2. กด Add Database User
  3. ตั้งชื่อผู้ใช้และรหัสผ่าน เลือกฐานข้อมูลในช่อง Database
  4. ในเวอร์ชันที่มีส่วน Roles หรือ Permissions ให้เลือก Read and Write สำหรับเว็บ หรือ Read Only สำหรับงานรายงาน (ส่วนนี้อาจไม่แสดงบนบางเวอร์ชันหรือบางการตั้งค่า)
  5. กด OK

การเปลี่ยนรหัสผ่าน ให้คลิกชื่อผู้ใช้ในหน้า User Management แก้ช่อง New password แล้วกด OK จากนั้นแก้รหัสผ่านในไฟล์ตั้งค่าของเว็บทันที มิฉะนั้นเว็บจะเชื่อมต่อฐานข้อมูลไม่ได้

ขั้นตอนที่ 4: นำเข้าข้อมูลเดิม

ถ้าย้ายเว็บมาจากที่อื่น มีสองวิธี

  • Import Dump: กดใต้ชื่อฐานข้อมูล เลือกไฟล์ .sql, .zip หรือ .gz จากเครื่อง แล้วกด OK เหมาะกับไฟล์ขนาดใหญ่เพราะไม่ติดข้อจำกัดการอัปโหลดของ phpMyAdmin
  • phpMyAdmin: กดปุ่ม phpMyAdmin เลือกแท็บ Import แล้วเลือกไฟล์ เหมาะกับไฟล์ขนาดเล็ก

ถ้าคุณมีสิทธิ์ SSH ก็ใช้คำสั่งนำเข้าได้โดยตรง ดูวิธีทั้ง Export และ Import ใน สำรองและกู้คืนฐานข้อมูล MySQL/MariaDB ด้วย mysqldump

หมายเหตุ: การนำเข้าไฟล์ที่มีคำสั่ง DROP TABLE จะลบตารางชื่อเดียวกันที่มีอยู่ ถ้าฐานข้อมูลปลายทางมีข้อมูลอยู่แล้ว ให้กด Export Dump เก็บไว้ก่อนนำเข้าทุกครั้ง

ขั้นตอนที่ 5: เปิดให้เชื่อมต่อจากเครื่องอื่น (ถ้าจำเป็น)

โดยปกติผู้ใช้ฐานข้อมูลเชื่อมต่อได้เฉพาะจากเซิร์ฟเวอร์เดียวกัน ถ้าต้องใช้โปรแกรมอย่าง MySQL Workbench หรือ DBeaver จากเครื่องของคุณ

  1. ใน User Management คลิกชื่อผู้ใช้
  2. ส่วน Access control เลือก Allow remote connections from แล้วใส่ IP สาธารณะของสำนักงานคุณ เช่น 203.0.113.25 หลีกเลี่ยงตัวเลือก Allow remote connections from any host
  3. กด OK

พอร์ต 3306 ต้องเปิดใน Firewall ของเซิร์ฟเวอร์ด้วย บนโฮสติ้งแบบใช้ร่วมกันส่วนนี้อาจถูกปิดไว้ตามนโยบายของเซิร์ฟเวอร์ ส่วนเซิร์ฟเวอร์ของคุณเอง หากเซิร์ฟเวอร์มี Security Group หรือ Firewall ภายนอกจากฝั่งผู้ให้บริการ ให้เปิดพอร์ตนั้นเพิ่มด้วย โดยอนุญาตเฉพาะ IP ที่ต้องการ

ตรวจสอบผลลัพธ์

  • กด phpMyAdmin ใต้ชื่อฐานข้อมูล ต้องเปิดได้และเห็นชื่อฐานข้อมูลทางซ้าย ถ้านำเข้าข้อมูลแล้วจะเห็นรายการตาราง
  • ถ้ามีสิทธิ์ SSH ทดสอบเข้าด้วยผู้ใช้ที่สร้าง ใส่รหัสผ่านเมื่อถูกถาม ถ้าเข้าได้จะเห็น Prompt MariaDB [example_shop_db]> หรือ mysql>
mysql -u shop_user -p -h localhost example_shop_db
  • เปิดเว็บไซต์ หน้าเว็บต้องแสดงผลปกติ ไม่มีข้อความเกี่ยวกับการเชื่อมต่อฐานข้อมูล

ปัญหาที่พบบ่อย

Access denied for user

ชื่อผู้ใช้ รหัสผ่าน หรือชื่อฐานข้อมูลไม่ตรง ตรวจว่าใช้ชื่อเต็มที่รวม Prefix แล้ว และรหัสผ่านไม่มีช่องว่างเกินมาจากการคัดลอก ถ้าไม่แน่ใจให้ตั้งรหัสผ่านใหม่ใน User Management แล้วแก้ไฟล์ตั้งค่าให้ตรง ถ้าเป็น WordPress ดูขั้นตอนตรวจละเอียดใน แก้ปัญหา Error Establishing a Database Connection ใน WordPress

ไม่มีปุ่ม Add Database หรือขึ้นว่าเกินโควตา

แพ็กเกจใช้จำนวนฐานข้อมูลครบตามที่กำหนดแล้ว ให้ลบฐานข้อมูลที่ไม่ใช้ (Export เก็บไว้ก่อน) หรือติดต่อผู้ให้บริการเพื่อปรับแพ็กเกจ

เชื่อมต่อจากภายนอกแล้ว Timeout

พอร์ต 3306 ถูกบล็อกระหว่างทาง ตรวจ Firewall ของเซิร์ฟเวอร์ Firewall ภายนอก และเครือข่ายของสำนักงานคุณ ถ้าขึ้น Access denied แทน Timeout แปลว่าถึงเซิร์ฟเวอร์แล้ว แต่ IP ที่ใส่ใน Access control ไม่ตรงกับ IP จริงที่ออกอินเทอร์เน็ต ตรวจ IP ปัจจุบันของคุณแล้วแก้ให้ตรง

นำเข้าไฟล์ SQL แล้วตัวอักษรภาษาไทยเป็นเครื่องหมายคำถาม

Character set ของไฟล์กับฐานข้อมูลไม่ตรงกัน ให้ Export จากต้นทางเป็น utf8mb4 และตรวจ Collation ของฐานข้อมูลใน phpMyAdmin แท็บ Operations ให้เป็นกลุ่ม utf8mb4 เช่น utf8mb4_unicode_ci ก่อนนำเข้าใหม่

หากทำตามขั้นตอนแล้วยังติดปัญหา สามารถติดต่อทีมงาน THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/ โดยแจ้งชื่อโดเมน ขั้นตอนที่ทำไปแล้ว และข้อความ Error ที่พบ เพื่อให้ทีมงานตรวจสอบได้เร็วขึ้น

ผู้ให้บริการคลาวด์ไทย
เพื่อธุรกิจของคนไทย

"มุ่งมั่น" และ "มั่นคง"
พร้อมรับมือทุกการเติบโต
Trust Cloud
คลาว์ที่ปลอดภัย
คือรากฐานที่มั่นคง
cloud security