BMS-HOSxP Community
HOSxP => Development => ข้อความที่เริ่มโดย: manoi ที่ มีนาคม 21, 2007, 01:14:56 AM
หัวข้อ:
การใช้งานระบบ Row base replication (trigger)
เริ่มหัวข้อโดย:
manoi
ที่
มีนาคม 21, 2007, 01:14:56 AM
(วิธีที่อธิบายนี้ใช้ได้กับ HOSxP 3.50.3.19 เป็นต้นไปครับ)
มาดูวิธีการใช้งาน Replication ระบบใหม่กันครับ อันดับแรก หากใช้ mysql 4.1 อยู่ต้อง restore ข้อมูลไปใช้กับ mysql 5.x ก่อนนะครับจึงจะทำตามตัวอย่างได้ เนื่องจากจะต้องใช้ Trigger เข้ามาช่วยครับ
connect เข้าไปใช้งาน ใน Master Database (mysql 5.x) เปิดระบบ check db แล้วกดปุ่ม Generate trigger ครับ
หลังจากกดปุ่ม Generate trigger แล้วกดปุ่มสายฟ้า แล้วพิมพ์คำสั่งนี้ลงไปครับ
โค๊ด: SQL
ALTER
TABLE
replicate_trigger
ADD
data_type3
VARCHAR
(
15
)
แล้วกดปุ่ม exec
หัวข้อ:
Re: การใช้งานระบบ Row base replication (trigger)
เริ่มหัวข้อโดย:
manoi
ที่
มีนาคม 21, 2007, 01:18:41 AM
เราสามารถตรวจสอบ Trigger ได้โดยใช้คำสั่ง show triggers ครับ
หัวข้อ:
Re: การใช้งานระบบ Row base replication (trigger)
เริ่มหัวข้อโดย:
manoi
ที่
มีนาคม 21, 2007, 01:22:38 AM
ระบบจะบันทึกการแก้ไขข้อมูลของตารางต่างๆ ไว้ในตาราง replicate_trigger ครับ
โดยการแก้ไขจากมาจาก HOSxP หรือโปรแกรมอื่นๆ ก็จะถูกบันทึกเอาไว้ โดยจะเก็บเฉพาะตารางที่มี Primary key ครับ
หัวข้อ:
Re: การใช้งานระบบ Row base replication (trigger)
เริ่มหัวข้อโดย:
manoi
ที่
มีนาคม 21, 2007, 01:23:44 AM
ส่วนตาราง replicate_trigger_service จะเก็บสถานะการทำงานของ HOSxP Replication Service ครับ
หัวข้อ:
Re: การใช้งานระบบ Row base replication (trigger)
เริ่มหัวข้อโดย:
manoi
ที่
มีนาคม 21, 2007, 01:31:54 AM
จากนั้น download HOSxP_Replication_Service ไปติดตั้ง ด้วยคำสั่ง
HOSxP_Replication_Service.exe /install
ดังรูป
หัวข้อ:
Re: การใช้งานระบบ Row base replication (trigger)
เริ่มหัวข้อโดย:
manoi
ที่
มีนาคม 21, 2007, 01:32:46 AM
โปรแกรมจะทำงานเป็น Service ของ Windows ตรวจสอบได้จาก control panel
หัวข้อ:
Re: การใช้งานระบบ Row base replication (trigger)
เริ่มหัวข้อโดย:
manoi
ที่
มีนาคม 21, 2007, 01:36:05 AM
ยังไม่ต้อง start service นะครับ ให้เปิดแฟ้ม
c:\windows\hosxp_replication_service.ini
มาทำการแก้ไข configuration ของ master และ slave ก่อนครับ ตรง protocol ให้กำหนดเป็น mysql-4.1 นะครับ
บันทึกแล้ว start replication service จาก control panel
หรือคำสั่ง net start HOSxPReplicationService
หัวข้อ:
Re: การใช้งานระบบ Row base replication (trigger)
เริ่มหัวข้อโดย:
manoi
ที่
มีนาคม 21, 2007, 01:46:49 AM
ตรวจสอบสถานะการทำงานของ Service ได้จากตาราง replicate_trigger_service นะครับ ดังรูป
หัวข้อ:
Re: การใช้งานระบบ Row base replication (trigger)
เริ่มหัวข้อโดย:
manoi
ที่
มีนาคม 21, 2007, 01:51:15 AM
การทำงานของ row base replication จะมีข้อดีกว่า Transaction base replication ตรงที่ ในเครื่อง slave และ master ตราบใดที่ไม่มีการเปลี่ยน Primary key ถึงแม้โครงสร้างตารางจะต่างกันก็สามารถ replicate ข้อมูลไปได้ถูกต้องครับ
ส่วนการเลือกใช้ Transaction replication หรือ Row replication ก็ขึ้นอยู่กับดุลยพินิจของผู้ดูแลระบบ และประสิทธิภาพของระบบว่าเมื่อเปิด replication แล้วทำงานช้าลงมากหรือไม่ครับ
นอกจากนั้นยังสามารถ replicate ไป Database ต่างชนิดกันได้ด้วยครับ
ใน version ถัดไปจะเป็นเรื่องของการทำ MySQL Cluster ในแบบของ HOSxP ครับ (ใช้งาน MySQL Server x เครื่อง พร้อมๆ กันจากคนละแผนก)
หัวข้อ:
Re: การใช้งานระบบ Row base replication (trigger)
เริ่มหัวข้อโดย:
มดตานอย ครับ..
ที่
มีนาคม 28, 2007, 03:34:00 AM
MySQL cluster น่าสนใจครับ ....อยากให้ อาจารย์ ออกบทความเกี่ยวกับเรื่องนี้ครับ ...ขอบพระคุณครับ