สร้างฐานข้อมูล MySQL บน DirectAdmin
เว็บไซต์ที่สร้างด้วย WordPress, Joomla, Laravel หรือระบบร้านค้าออนไลน์ส่วนใหญ่ต้องใช้ฐานข้อมูล MySQL หรือ MariaDB ในการเก็บเนื้อหา ผู้ใช้ และคำสั่งซื้อ บน DirectAdmin คุณสร้างฐานข้อมูลพร้อมผู้ใช้ฐานข้อมูลได้ในขั้นตอนเดียว แล้วนำชื่อฐานข้อมูล ชื่อผู้ใช้ และรหัสผ่านไปใส่ในไฟล์ตั้งค่าของเว็บไซต์
บทความนี้อธิบายการสร้างฐานข้อมูล การเพิ่มผู้ใช้ให้ฐานข้อมูลเดิม การเปิด phpMyAdmin และการนำเข้าไฟล์ .sql โดยอ้างอิงหน้าจอ DirectAdmin แบบ Evolution skin เซิร์ฟเวอร์ DirectAdmin อาจติดตั้ง MySQL หรือ MariaDB ก็ได้ ขั้นตอนในหน้า Control Panel เหมือนกัน
สิ่งที่ต้องเตรียม
- บัญชี DirectAdmin ระดับ User และแพ็กเกจที่ยังเหลือโควตาจำนวนฐานข้อมูล
- ชื่อที่ต้องการตั้งให้ฐานข้อมูล ใช้ตัวอักษรภาษาอังกฤษพิมพ์เล็ก ตัวเลข และขีดล่างเท่านั้น
- ไฟล์
.sqlหากต้องการนำเข้าข้อมูลจากเว็บเดิม
ขั้นตอนที่ 1: สร้างฐานข้อมูลและผู้ใช้
- ล็อกอิน DirectAdmin แล้วไปที่หมวด Account Manager คลิก MySQL Management
- คลิก Create new Database
- กรอกข้อมูล
- Database Name: เช่น
shop - Database Username: เช่น
shopหรือติ๊ก Same as database name เพื่อใช้ชื่อเดียวกับฐานข้อมูล - Password: กดปุ่มสุ่มรหัสผ่านเพื่อได้รหัสที่แข็งแรง แล้วจดเก็บไว้
- Database Name: เช่น
- กด Create Database
DirectAdmin จะเติมชื่อบัญชีผู้ใช้ของคุณพร้อมขีดล่างไว้ข้างหน้าชื่อทั้งสองโดยอัตโนมัติ ตัวอย่างเช่น ถ้าชื่อบัญชี DirectAdmin คือ acme ชื่อที่ได้จริงจะเป็น
| รายการ | ค่าที่ได้จริง |
|---|---|
| Database | acme_shop |
| Username | acme_shop |
| Host | localhost |
| Password | รหัสที่ตั้งไว้ |
หน้าสรุปหลังสร้างจะแสดงค่าเหล่านี้ ให้คัดลอกเก็บไว้ทันที เพราะ DirectAdmin จะไม่แสดงรหัสผ่านให้ดูซ้ำภายหลัง
หมายเหตุ: ชื่อที่นับรวมคำนำหน้าแล้วมีขีดจำกัดความยาว MySQL 8 รับชื่อผู้ใช้ได้ไม่เกิน 32 ตัวอักษร และชื่อฐานข้อมูลไม่เกิน 64 ตัวอักษร จึงควรตั้งชื่อให้สั้นและสื่อความหมาย หากสร้างไม่ผ่านให้ลองตั้งชื่อให้สั้นลง
ขั้นตอนที่ 2: ใส่ค่าเชื่อมต่อในเว็บไซต์
นำค่าจากขั้นตอนที่ 1 ไปใส่ในไฟล์ตั้งค่าของเว็บไซต์ ตัวอย่างสำหรับ WordPress ในไฟล์ wp-config.php
define( 'DB_NAME', 'acme_shop' );
define( 'DB_USER', 'acme_shop' );
define( 'DB_PASSWORD', 'รหัสผ่านที่ตั้งไว้' );
define( 'DB_HOST', 'localhost' );
สำหรับ Laravel ในไฟล์ .env
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=acme_shop
DB_USERNAME=acme_shop
DB_PASSWORD=รหัสผ่านที่ตั้งไว้
ใช้ localhost เป็น Host เสมอเมื่อเว็บไซต์กับฐานข้อมูลอยู่บนเซิร์ฟเวอร์เดียวกัน ซึ่งเป็นกรณีปกติของ Hosting ที่ใช้ DirectAdmin
ขั้นตอนที่ 3: เพิ่มผู้ใช้หรือเปลี่ยนรหัสผ่านภายหลัง
- ไปที่ MySQL Management แล้วคลิกชื่อฐานข้อมูล
- ในหน้ารายละเอียด จะเห็นรายชื่อผู้ใช้ที่มีสิทธิ์ในฐานข้อมูลนี้ คลิก Create new user เพื่อสร้างผู้ใช้ใหม่ หรือเลือก Add existing user เพื่อให้ผู้ใช้ที่มีอยู่แล้วเข้าถึงฐานข้อมูลนี้ด้วย (ชื่อปุ่มอาจต่างกันตามเวอร์ชัน)
- หากต้องการเปลี่ยนรหัสผ่าน ให้เลือกผู้ใช้แล้วใช้เมนู Change Password
หลังเปลี่ยนรหัสผ่าน ต้องแก้ค่าในไฟล์ตั้งค่าของเว็บไซต์ให้ตรงกันด้วย มิฉะนั้นเว็บจะขึ้น Error เชื่อมต่อฐานข้อมูลไม่ได้
ขั้นตอนที่ 4: จัดการข้อมูลด้วย phpMyAdmin และนำเข้าไฟล์ .sql
- ในหน้า MySQL Management คลิกลิงก์ phpMyAdmin (อยู่มุมบนของหน้า หรือในเมนู Extra Features ขึ้นอยู่กับการตั้งค่าเซิร์ฟเวอร์)
- ในเซิร์ฟเวอร์ส่วนใหญ่ DirectAdmin จะล็อกอินให้อัตโนมัติ หากถูกถามชื่อผู้ใช้ ให้ใช้ชื่อผู้ใช้และรหัสผ่านของฐานข้อมูล (เช่น
acme_shop) - คลิกชื่อฐานข้อมูลในแถบซ้าย แล้วไปที่แท็บ Import
- กด Choose File เลือกไฟล์
.sqlหรือ.sql.gzแล้วกด Import (บางรุ่นเขียนว่า Go)
หากไฟล์ใหญ่เกินขีดจำกัดการอัปโหลดของ phpMyAdmin DirectAdmin ยังมีปุ่ม Upload backup หรือ Restore ในหน้ารายละเอียดของฐานข้อมูล ซึ่งรับไฟล์ .sql หรือ .gz ได้โดยตรง หากคุณมีสิทธิ์ SSH สามารถนำเข้าด้วยคำสั่งได้เช่นกัน
mysql -u acme_shop -p acme_shop < backup.sql
คำสั่งนี้จะถามรหัสผ่าน แล้วนำเข้าโดยไม่แสดงผลอะไรหากสำเร็จ รายละเอียดการสำรองและกู้คืนดูได้ที่ สำรองและกู้คืนฐานข้อมูล MySQL/MariaDB ด้วย mysqldump
หมายเหตุ: การนำเข้าไฟล์
.sqlที่มีคำสั่งDROP TABLEจะเขียนทับตารางชื่อเดียวกันที่มีอยู่ ก่อนนำเข้าข้อมูลลงฐานข้อมูลที่ใช้งานจริง ให้ Export สำรองไว้ก่อนเสมอ ผ่านแท็บ Export ของ phpMyAdmin
ขั้นตอนที่ 5 (ถ้าจำเป็น): อนุญาตให้เชื่อมต่อจากเครื่องภายนอก
โดยค่าเริ่มต้น ผู้ใช้ฐานข้อมูลเชื่อมต่อได้จาก localhost เท่านั้น หากต้องการเชื่อมต่อจากโปรแกรมบนคอมพิวเตอร์ของคุณ เช่น DBeaver หรือ MySQL Workbench ให้เข้าไปที่ชื่อฐานข้อมูลในหน้า MySQL Management แล้วเพิ่ม IP สาธารณะของคุณในส่วน Access Hosts ให้เพิ่มเฉพาะ IP ที่ต้องใช้จริง ไม่ควรใส่ % ซึ่งหมายถึงทุก IP
นอกจากนี้ Port 3306 ต้องเปิดใน Firewall ของเซิร์ฟเวอร์สำหรับ IP นั้น หากเซิร์ฟเวอร์มี Security Group หรือ Firewall ภายนอกจากฝั่งผู้ให้บริการ ให้เปิดพอร์ตนั้นเพิ่มด้วย บน Shared Hosting บางแห่งอาจไม่อนุญาตการเชื่อมต่อจากภายนอกเลย แนวทางด้านความปลอดภัยเพิ่มเติมดูที่ เปิดให้เชื่อมต่อ MySQL/MariaDB จากภายนอกอย่างปลอดภัย
ตรวจสอบผลลัพธ์
- ในหน้า MySQL Management จะเห็นฐานข้อมูลใหม่ในรายการ พร้อมขนาดและจำนวนผู้ใช้
- เปิด phpMyAdmin แล้วเห็นฐานข้อมูลในแถบซ้าย หากนำเข้าข้อมูลแล้วจะเห็นรายชื่อตาราง
- เปิดเว็บไซต์แล้วไม่พบข้อความ Error เกี่ยวกับการเชื่อมต่อฐานข้อมูล
ปัญหาที่พบบ่อย
เว็บขึ้น Error establishing a database connection หรือ Access denied
ตรวจว่าใส่ชื่อฐานข้อมูลและชื่อผู้ใช้พร้อมคำนำหน้า เช่น acme_shop ไม่ใช่ shop และรหัสผ่านไม่มีช่องว่างเกินมา หากไม่แน่ใจให้เปลี่ยนรหัสผ่านใหม่ในขั้นตอนที่ 3 แล้วแก้ไฟล์ตั้งค่าให้ตรง ดูเพิ่มเติมที่ แก้ปัญหา Error Establishing a Database Connection ใน WordPress
นำเข้าไฟล์แล้วขึ้น #1044 Access denied for user ... to database
ไฟล์ .sql มีคำสั่ง CREATE DATABASE หรือ USE ชื่อฐานข้อมูลเดิม ซึ่งผู้ใช้ของคุณไม่มีสิทธิ์ ให้เปิดไฟล์ด้วยโปรแกรมแก้ไขข้อความแล้วลบบรรทัดเหล่านั้นออก แล้วนำเข้าใหม่โดยเลือกฐานข้อมูลปลายทางไว้ก่อน
นำเข้าแล้วขึ้น Unknown collation: utf8mb4_0900_ai_ci
ไฟล์ถูก Export มาจาก MySQL 8 แต่เซิร์ฟเวอร์ปลายทางใช้ MariaDB รุ่นที่ยังไม่รู้จัก collation นี้ (MariaDB เพิ่งรองรับชื่อนี้ในรุ่น 11.4.5 ขึ้นไป) ให้แทนที่ utf8mb4_0900_ai_ci ในไฟล์ด้วย utf8mb4_unicode_ci แล้วนำเข้าใหม่
สร้างฐานข้อมูลไม่ได้ ขึ้นว่าเกินจำนวน
แพ็กเกจของคุณใช้ฐานข้อมูลครบตามโควตาแล้ว ให้ลบฐานข้อมูลที่ไม่ใช้ (สำรองก่อนลบ) หรือติดต่อผู้ให้บริการเพื่อปรับแพ็กเกจ
หากยังเชื่อมต่อฐานข้อมูลไม่ได้ ติดต่อทีมงาน THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/ พร้อมแจ้งชื่อฐานข้อมูลและข้อความ Error ที่พบ
- Categories:
- Cloud
- Tags:
- Cloud
- Cloud Server
Related Posts
หมวดหมู่ที่น่าสนใจ
- Account Settings
- AD Server
- AI
- Alibaba Cloud
- Anti-Spam Gateway
- AWS Amazon Web Services
- Campaign
- CentOS/AlmaLinux
- Cloud
- Cloud Backup
- Cloud Communication
- Cloud Migration
- Cloud Security
- Cloud Server Management
- Cloud Solution
- Cloud Solution for Government
- Cloud Solutions by Industry
- Cloud Storage
- Cloud VPS App Plus +
- Cloud VPS DirectAdmin
- Cloud VPS Plesk
- CSR
- Cyber Security
- Cybersecurity
- Data Sovereignty
- Database Server
- DDoS
- Digital Tranformation
- Digital Transformation
- Direct Mail
- Directadmin
- Domainname
- Ecommerce
- ERP
- Generative AI
- Getting Started
- Google Cloud
- Google G Suite
- Huawei Cloud
- IT News
- Linux Server
- Managed Cloud Services
- Managed Service Provider
- Manual
- Microsoft
- Microsoft 365
- Microsoft Azure
- News
- On-premise
- Private Mail Server
- Promotion
- Recommend Solution (Enterprise)
- Server
- Sovereign Cloud
- THAI DATA CLOUD Platform
- Ubuntu
- Ubuntu
- Uncategorized
- VMware
- VPS Server
- Web Design
- Web Hosting
- Web Hosting (DirectAdmin)
- Web Hosting (Plesk)
- Web Technologies
- Windows Server
- Wordpress
- Zimbra
- เรื่องราวความประทับใจ
- โซลูชันสำหรับธุรกิจการผลิตและยานยนต์
- โซลูชันสำหรับธุรกิจการศึกษา
- โซลูชันสำหรับธุรกิจการเงิน
- โซลูชันสำหรับธุรกิจขนส่งและกระจายสินค้า
- โซลูชันสำหรับธุรกิจค้าปลีก
- โซลูชันสำหรับธุรกิจท่องเที่ยว
- โซลูชันสำหรับธุรกิจบริการสุขภาพและโรงพยาบาล
- โซลูชันสำหรับธุรกิจประกันภัย
- โซลูชันสำหรับธุรกิจพลังงานและสาธารณูปโภค
- โซลูชันสำหรับธุรกิจสื่อสารมวลชนและเอ็นเตอร์เทนเมนท์
- โซลูชันสำหรับธุรกิจอสังหาริมทรัพย์
- โซลูชันสำหรับธุรกิจเทคโนโลยี


