ตั้งค่า MariaDB ใน ServBay
ServBay มอบสภาพแวดล้อมสำหรับพัฒนาเว็บบนเครื่องที่ทรงพลังและใช้งานง่าย ซึ่งรวมถึงระบบฐานข้อมูล MariaDB ที่ติดตั้งและจัดการได้สะดวก คู่มือนี้จะแนะนำขั้นตอนละเอียดสำหรับการปรับแต่งและตั้งค่า MariaDB ใน ServBay โดยเน้นวิธีแนะนำผ่านหน้าต่าง UI และอธิบายการทำงานและตัวเลือกที่สำคัญของไฟล์กำหนดค่า
กลุ่มเป้าหมาย: นักพัฒนาเว็บที่ใช้ ServBay สำหรับการพัฒนาในเครื่อง โดยเฉพาะผู้ที่ต้องการปรับแต่งพฤติกรรมของ MariaDB
ภาพรวม
การตั้งค่าของ MariaDB กำหนดรูปแบบการทำงานของเซิร์ฟเวอร์ฐานข้อมูล เช่น การฟังเครือข่าย, ขีดจำกัดการเชื่อมต่อ, ขนาดแคช, การบันทึก log ฯลฯ ใน ServBay คุณสามารถปรับแต่งค่าหลักเหล่านี้ได้อย่างง่ายดายผ่านหน้าต่าง UI โดยไม่ต้องแก้ไขไฟล์คอนฟิกที่ซับซ้อนด้วยตนเอง แม้ว่าไฟล์กำหนดค่า (เช่น my.cnf
) จะเป็นวิธีมาตรฐานของ MariaDB ในการกำหนดค่า แต่เราแนะนำอย่างยิ่งให้ตั้งค่าผ่าน UI ของ ServBay เพื่อความเสถียรและความคงทนของระบบ
ตำแหน่งไฟล์กำหนดค่าของ MariaDB จะแตกต่างกันตามเวอร์ชัน โดยมักจะอยู่ที่ /Applications/ServBay/etc/mariadb/<version>
ข้อควรระวัง: ใช้งาน UI ของ ServBay เป็นหลัก
เพื่อหลีกเลี่ยงปัญหาค่ากำหนดซ้ำซ้อนหรือการถูกเขียนทับ ขอแนะนำอย่างยิ่งให้คุณใช้หน้าต่าง UI ของ ServBay ในการปรับแต่งค่าต่างๆ ServBay จะสร้างและจัดการไฟล์กำหนดค่าทั้งหมดจากค่าที่คุณตั้งใน UI โดยอัตโนมัติ การแก้ไขไฟล์ด้วยตนเองควรทำเฉพาะในกรณีทดสอบชั่วคราวเท่านั้น และไฟล์ดังกล่าวอาจถูกลบหรือเขียนทับเมื่อ ServBay จัดการค่าภายในใหม่
วิธีปรับแต่งตั้งค่า MariaDB ผ่าน UI ของ ServBay (แนะนำ)
ServBay มาพร้อมหน้าต่างกราฟิกที่ใช้งานง่าย ให้คุณตรวจสอบและแก้ไขค่าพารามิเตอร์หลักของ MariaDB ได้อย่างรวดเร็วและปลอดภัย โดยการเปลี่ยนแปลงจะมีผลทันทีโดยไม่ต้องรีสตาร์ทบริการด้วยตนเอง
เปิดหน้าต่างจัดการของ ServBay: เริ่มโปรแกรม ServBay
ไปที่การตั้งค่าฐานข้อมูล: จากแถบเมนูซ้าย เลือกเมนู
ฐานข้อมูล
จากนั้นคลิกที่MariaDB
เลือกรุ่นของ MariaDB: หากคุณติดตั้ง MariaDB หลายเวอร์ชัน ให้เลือกเวอร์ชันที่ต้องการปรับแต่ง
ปรับแต่งค่าพารามิเตอร์: คุณจะพบและแก้ไขค่าต่างๆ เหล่านี้:
- ชื่อผู้ใช้เริ่มต้นและรหัสผ่าน Root: ตรวจสอบหรือตั้งรหัสผ่านผู้ใช้
root
ใหม่ได้ที่นี่ (ขึ้นกับเวอร์ชัน) - ที่อยู่สำหรับฟัง (bind-address): กำหนดว่า MariaDB จะฟังการเชื่อมต่อจากที่ใด ค่าเริ่มต้นคือ
0.0.0.0
หมายถึงรับทุกการเชื่อมต่อจากทุกอินเทอร์เฟส หากต้องการเชื่อมต่อจากภายในเครื่องเท่านั้น ให้ใช้127.0.0.1
หรือlocalhost
- พอร์ต (port): เปลี่ยนหมายเลขพอร์ต TCP ที่ MariaDB ใช้ ค่าเริ่มต้นคือ
3306
- จำนวนการเชื่อมต่อสูงสุด (max_connections): จำนวนสูงสุดของการเชื่อมต่อพร้อมกันต่อเซิร์ฟเวอร์ MariaDB ปรับตามความต้องการและทรัพยากรที่มี
- ขนาดแพ็กเกจสูงสุดที่อนุญาต (max_allowed_packet): ขนาดสูงสุดของข้อมูลในแต่ละแพ็กเกจ ส่งผลต่อ SQL query ที่มีข้อมูลขนาดใหญ่ (เช่น BLOB)
- เปิดใช้ Slow Query Log (slow_query_log): สามารถบันทึก query ที่ทำงานช้าเพื่อวินิจฉัยปัญหาด้านประสิทธิภาพ
- ไฟล์บันทึก Slow Query (slow_query_log_file): กำหนดที่อยู่ไฟล์สำหรับ log Query ที่ช้า (โดยปกติอยู่ที่
/Applications/ServBay/logs/mariadb/
) - เกณฑ์เวลา Slow Query (long_query_time): กำหนดเวลา (วินาที) Query ที่ใช้เวลามากกว่าค่านี้จะถูกบันทึกลง slow query log
- ขนาด buffer pool (innodb_buffer_pool_size): หนึ่งในค่าหลักสำหรับ InnoDB เพื่อแคชข้อมูลและดัชนี ให้เพิ่มค่านี้ถ้าต้องการประสิทธิภาพที่สูงขึ้น (แต่จะใช้ RAM มากขึ้น)
- ชุดตัวอักษรและการจัดลำดับ (character-set-server, collation-server): กำหนดค่า default ของ character set และ collation server เช่น
utf8mb4
(รองรับตัวอักษรพิเศษ เช่น Emoji)
- ชื่อผู้ใช้เริ่มต้นและรหัสผ่าน Root: ตรวจสอบหรือตั้งรหัสผ่านผู้ใช้
บันทึกและใช้งานการเปลี่ยนแปลง: เมื่อตั้งค่าเสร็จแล้วให้คลิกปุ่ม
บันทึก
ที่ด้านล่างของหน้าต่าง เพียงเท่านี้ ServBay จะอัปเดตค่ากำหนดและรีโหลดหรือรีสตาร์ท MariaDB โดยอัตโนมัติให้การเปลี่ยนแปลงมีผลทันที
ภาพตัวอย่าง: การแก้ไขค่ากำหนด MariaDB ผ่าน UI ของ ServBay
วิธีแก้ไขค่ากำหนดผ่านไฟล์คอนฟิกโดยตรง (ไม่แนะนำ เหมาะสำหรับการทดสอบเท่านั้น)
แม้จะไม่แนะนำ แต่การรู้ตำแหน่งและโครงสร้างไฟล์คอนฟิกของ MariaDB จะมีประโยชน์สำหรับการตรวจสอบหรือทดสอบเฉพาะทาง
คำเตือนความเสี่ยง: การแก้ไขด้วยตนเองจะถูกเขียนทับ
การปรับแต่งไฟล์กำหนดค่าที่ ServBay ดูแลอยู่ (เช่น my.cnf
) ไม่แนะนำ เนื่องจาก ServBay อาจเขียนทับไฟล์เหล่านี้เมื่อมีการจัดการบริการ เช่น อัปเดตหรือรีสตาร์ทเสมอ ควรใช้ UI ของ ServBay เป็นหลัก หากจำเป็นต้องปรับแต่งไฟล์ด้วยเหตุผลเฉพาะ ควรตระหนักไว้ว่าเป็นการตั้งค่าชั่วคราวและหาทางบันทึกค่าดังกล่าวผ่าน UI หากต้องการให้คงอยู่ถาวร
ตำแหน่งไฟล์คอนฟิก
ไฟล์กำหนดค่าหลักของ MariaDB ใน ServBay คือ my.cnf
ซึ่งตำแหน่งขึ้นอยู่กับเวอร์ชันที่ใช้งาน
- ไฟล์คอนฟิกหลัก:
/Applications/ServBay/etc/mariadb/<version>/my.cnf
ตัวอย่างสำหรับ MariaDB เวอร์ชัน 11.5: /Applications/ServBay/etc/mariadb/11.5/my.cnf
โครงสร้างไฟล์ my.cnf
และค่ากำหนดที่พบบ่อย
my.cnf
เป็นไฟล์ข้อความแบบ INI แบ่งหมวดหมู่การตั้งค่าแต่ละกลุ่มด้วย [section]
ส่วนใหญ่ที่สำคัญสำหรับเซิร์ฟเวอร์คือ [mysqld]
ตัวอย่างค่ากำหนดสำคัญ (สัมพันธ์กับที่มีใน UI):
เปลี่ยนที่อยู่สำหรับฟัง (bind-address)
ini[mysqld] bind-address = 0.0.0.0
1
20.0.0.0
อนุญาตการเชื่อมต่อจากทุกอินเทอร์เฟส หากต้องการเชื่อมต่อเฉพาะในเครื่อง ใช้127.0.0.1
หรือlocalhost
เปลี่ยนหมายเลขพอร์ต (port)
ini[mysqld] port = 3306
1
2พอร์ตที่ MariaDB ใช้งาน
เปลี่ยนจำนวนการเชื่อมต่อสูงสุด (max_connections)
ini[mysqld] max_connections = 200
1
2กำหนดจำนวนผู้ใช้เชื่อมต่อพร้อมกันสูงสุด
กำหนดขนาด InnoDB Buffer Pool (innodb_buffer_pool_size)
ini[mysqld] innodb_buffer_pool_size = 256M
1
2ให้หน่วยเป็น K, M, หรือ G
ปรับตำแหน่งไฟล์ error log (log_error)
ini[mysqld] log_error = /Applications/ServBay/logs/mariadb/error.log
1
2ตำแหน่งไฟล์ error log ของ MariaDB
เปิด Slow Query Log (slow_query_log, slow_query_log_file, long_query_time)
ini[mysqld] slow_query_log = 1 slow_query_log_file = /Applications/ServBay/logs/mariadb/slow.log long_query_time = 2 # หน่วยเป็นวินาที บันทึก query ใช้เวลามากกว่า 2 วินาที
1
2
3
4เปิด log, กำหนดไฟล์ผลลัพธ์, กำหนดเกณฑ์เวลา
ปรับค่าชุดตัวอักษรและ Collation (character-set-server, collation-server)
ini[mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci
1
2
3กำหนดค่า default สำหรับชุดอักขระและการเปรียบเทียบข้อมูล
การใช้ค่ากำหนดใหม่: รีสตาร์ทบริการ MariaDB
ไม่ว่าคุณจะปรับแต่งค่าผ่าน UI ของ ServBay หรือแก้ไขไฟล์คอนฟิกด้วยตนเอง (ไม่แนะนำ) มักจะต้องรีสตาร์ทบริการ MariaDB เพื่อให้ค่ากำหนดใหม่มีผล ServBay มีช่องทางรีสตาร์ทง่ายสองแบบ
รีสตาร์ทผ่านหน้าต่างการจัดการ ServBay
เป็นวิธีที่สะดวกและง่ายที่สุด:
- เปิดหน้าต่างจัดการของ ServBay
- ที่แถบเมนูซ้าย เลือก
แพ็กเกจซอฟต์แวร์
(หรืออาจเป็นบริการ
หากใช้เวอร์ชันเก่า) - ค้นหาแพ็กเกจ MariaDB เวอร์ชันที่ต้องการ
- คลิกปุ่ม
รีสตาร์ท
ที่อยู่ข้างๆ
รีสตาร์ทผ่านคำสั่ง servbayctl
servbayctl
เป็นเครื่องมือสำหรับจัดการแพ็กเกจและบริการของ ServBay ผ่านเทอร์มินัล
เปิด Terminal แล้วใช้คำสั่งนี้เพื่อรีสตาร์ท MariaDB เวอร์ชันที่ต้องการ:
bash
servbayctl restart mariadb <version>
1
โดยให้แทนที่ <version>
ด้วยเวอร์ชันที่ใช้งานจริง เช่น 11.5
bash
# ตัวอย่าง: รีสตาร์ท MariaDB 11.5
servbayctl restart mariadb 11.5
1
2
2
คำถามที่พบบ่อย (FAQ)
ถาม: ทำไม ServBay แนะนำให้ปรับแต่งค่าผ่าน UI ไม่ใช่แก้ไขไฟล์ my.cnf
เอง?
ตอบ: ServBay ถูกออกแบบให้เป็นตัวจัดการสภาพแวดล้อมการพัฒนาแบบครบวงจร UI จะจัดเก็บและจัดการค่ากำหนดสำหรับซอฟต์แวร์ทุกตัว หากคุณแก้ไขไฟล์คอนฟิกเอง (เช่น my.cnf
) มีโอกาสสูงที่เมื่อ ServBay ปรับปรุง รีสตาร์ท หรือคุณใช้ UI สำหรับแก้ค่าครั้งถัดไป ไฟล์เดิมจะถูกสร้างใหม่และค่าเดิมจะหายไป การใช้ UI รับรองว่าค่าจะถูกจัดการและเก็บอย่างคงทนตลอดทุกกระบวนการ
ถาม: สามารถปรับแต่งค่าพารามิเตอร์ทั้งหมดของ MariaDB ผ่าน UI ServBay ได้ไหม?
ตอบ: UI ของ ServBay รองรับตัวเลือกหลักที่นักพัฒนาใช้บ่อย สำหรับค่าหายากหรือการตั้งค่าขั้นสูงที่เฉพาะเจาะจง อาจต้องแก้ไขไฟล์เองเป็นกรณีชั่วคราว แต่ควรตระหนักถึงข้อจำกัดด้านความคงทนของไฟล์ และควรสำรวจฟีเจอร์ “กำหนดค่าเพิ่มเติม” ใน UI เพื่อดูว่าสามารถเพิ่มค่าที่ต้องการได้หรือไม่
ถาม: จะดูไฟล์ error log กับ slow query log ของ MariaDB ใน ServBay ได้ที่ไหน?
ตอบ: โดยค่าเริ่มต้นและตามโครงสร้างไฟล์ของ ServBay ไฟล์ log มักอยู่ที่ /Applications/ServBay/logs/mariadb/
คุณสามารถตรวจสอบ path ที่แน่นอนได้ใน UI หรือดูจากไฟล์ my.cnf
สรุป
การปรับแต่งและตั้งค่า MariaDB ใน ServBay ที่ปลอดภัยและแนะนำมากที่สุดคือ การใช้งานผ่านหน้าต่างผู้ใช้ UI ของ ServBay เพราะให้คุณเปลี่ยนแปลงค่าหลักต่างๆ เช่น ที่อยู่, พอร์ต, จำนวนการเชื่อมต่อ, log ฯลฯ ได้อย่างง่ายดาย พร้อมรับรองว่าค่าจะถูกจัดการและเก็บถาวรโดย ServBay แม้จะสามารถแก้ไขไฟล์ my.cnf
โดยตรง (ที่ /Applications/ServBay/etc/mariadb/<version>/my.cnf
) แต่มีความเสี่ยงจะถูกเขียนทับ จึงควรทำเฉพาะกรณีทดสอบชั่วคราว หลังเปลี่ยนแปลง ถ้าต้องการให้ค่ามีผลทันที สามารถรีสตาร์ท MariaDB ได้ทั้งจาก UI และคำสั่ง servbayctl
การเข้าใจตัวเลือกเหล่านี้จะช่วยให้คุณสามารถเพิ่มประสิทธิภาพ และควบคุมพฤติกรรมของ MariaDB ในสภาพแวดล้อมการพัฒนาได้ดียิ่งขึ้น