ผู้เขียน หัวข้อ: การใช้งานระบบ Row base replication (trigger)  (อ่าน 9746 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
การใช้งานระบบ Row base replication (trigger)
« เมื่อ: มีนาคม 21, 2007, 01:14:56 AM »
0
(วิธีที่อธิบายนี้ใช้ได้กับ 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
  1. ALTER TABLE replicate_trigger ADD data_type3 VARCHAR(15)
  2.  

แล้วกดปุ่ม exec
« แก้ไขครั้งสุดท้าย: เมษายน 18, 2007, 07:50:59 AM โดย manoi »
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การใช้งานระบบ Row base replication (trigger)
« ตอบกลับ #1 เมื่อ: มีนาคม 21, 2007, 01:18:41 AM »
0
เราสามารถตรวจสอบ Trigger ได้โดยใช้คำสั่ง show triggers ครับ
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การใช้งานระบบ Row base replication (trigger)
« ตอบกลับ #2 เมื่อ: มีนาคม 21, 2007, 01:22:38 AM »
0
ระบบจะบันทึกการแก้ไขข้อมูลของตารางต่างๆ ไว้ในตาราง replicate_trigger ครับ

โดยการแก้ไขจากมาจาก HOSxP หรือโปรแกรมอื่นๆ ก็จะถูกบันทึกเอาไว้  โดยจะเก็บเฉพาะตารางที่มี Primary key ครับ
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การใช้งานระบบ Row base replication (trigger)
« ตอบกลับ #3 เมื่อ: มีนาคม 21, 2007, 01:23:44 AM »
0
ส่วนตาราง replicate_trigger_service จะเก็บสถานะการทำงานของ HOSxP Replication Service ครับ
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การใช้งานระบบ Row base replication (trigger)
« ตอบกลับ #4 เมื่อ: มีนาคม 21, 2007, 01:31:54 AM »
0
จากนั้น download HOSxP_Replication_Service ไปติดตั้ง ด้วยคำสั่ง

HOSxP_Replication_Service.exe /install

ดังรูป
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การใช้งานระบบ Row base replication (trigger)
« ตอบกลับ #5 เมื่อ: มีนาคม 21, 2007, 01:32:46 AM »
0
โปรแกรมจะทำงานเป็น Service ของ Windows ตรวจสอบได้จาก control panel
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การใช้งานระบบ Row base replication (trigger)
« ตอบกลับ #6 เมื่อ: มีนาคม 21, 2007, 01:36:05 AM »
0
ยังไม่ต้อง start service นะครับ ให้เปิดแฟ้ม

c:\windows\hosxp_replication_service.ini

มาทำการแก้ไข configuration ของ master และ slave ก่อนครับ  ตรง protocol ให้กำหนดเป็น mysql-4.1 นะครับ

บันทึกแล้ว start replication service จาก control panel

หรือคำสั่ง  net start HOSxPReplicationService
« แก้ไขครั้งสุดท้าย: มีนาคม 21, 2007, 01:56:54 AM โดย manoi »
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การใช้งานระบบ Row base replication (trigger)
« ตอบกลับ #7 เมื่อ: มีนาคม 21, 2007, 01:46:49 AM »
0
ตรวจสอบสถานะการทำงานของ Service ได้จากตาราง replicate_trigger_service นะครับ ดังรูป
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การใช้งานระบบ Row base replication (trigger)
« ตอบกลับ #8 เมื่อ: มีนาคม 21, 2007, 01:51:15 AM »
0
การทำงานของ 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 เครื่อง พร้อมๆ กันจากคนละแผนก)
« แก้ไขครั้งสุดท้าย: มีนาคม 21, 2007, 01:59:49 AM โดย manoi »
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ มดตานอย ครับ..

  • Hero Member
  • *****
  • กระทู้: 3,137
  • Respect: 0
    • ดูรายละเอียด
Re: การใช้งานระบบ Row base replication (trigger)
« ตอบกลับ #9 เมื่อ: มีนาคม 28, 2007, 03:34:00 AM »
0
MySQL cluster   น่าสนใจครับ    ....อยากให้ อาจารย์   ออกบทความเกี่ยวกับเรื่องนี้ครับ   ...ขอบพระคุณครับ

Nakhonphanom Hospital

MR.Tanoy999 ผู้ใช้งานทั่วไป
tanoy999-at-gmail-dot-com
เริ่ม  1 ตุลาคม 2549  โดย  BMS