เพิ่มแหล่ง CDC ของฐานข้อมูล MySQL ไปยังเหตุการณ์สตรีม (ตัวอย่าง)

หมายเหตุ

บทความนี้ประกอบด้วยการอ้างอิงถึงคําว่า SLAVEคําที่ Microsoft ไม่ใช้อีกต่อไป เมื่อลบคําศัพท์ออกจากซอฟต์แวร์เราจะลบออกจากบทความนี้

บทความนี้แสดงวิธีการเพิ่มฐานข้อมูล Azure สําหรับแหล่งข้อมูล MySQL Change Data Capture ไปยังเหตุการณ์ ตัวเชื่อมต่อแหล่งข้อมูล Azure MySQL Change Data Capture (CDC) สําหรับสตรีมเหตุการณ์ของ Microsoft Fabric ช่วยให้คุณสามารถจับภาพสแนปช็อตของข้อมูลปัจจุบันในฐานข้อมูล Azure สําหรับฐานข้อมูล MySQL ได้

คุณสามารถระบุตารางเพื่อตรวจสอบ และบันทึกเหตุการณ์สตรีมจะบันทึกการเปลี่ยนแปลงระดับแถวในอนาคตไปยังตารางได้ เมื่อการเปลี่ยนแปลงถูกบันทึกไว้ในเหตุการณ์คุณสามารถประมวลผลข้อมูล CDC นี้ในแบบเรียลไทม์และส่งไปยังปลายทางที่แตกต่างกันใน Fabric เพื่อการประมวลผลหรือการวิเคราะห์เพิ่มเติม

สำคัญ

ความสามารถที่เพิ่มขึ้นของสตรีมเหตุการณ์ Fabric อยู่ในตัวอย่างในขณะนี้

หมายเหตุ

แหล่งข้อมูลนี้ไม่ได้รับการสนับสนุนในภูมิภาคต่อไปนี้ของความจุพื้นที่ทํางานของคุณ: US3 ตะวันตก สวิตเซอร์แลนด์ตะวันตก

ข้อกำหนดเบื้องต้น

  • เข้าถึงพื้นที่ทํางาน Fabric premium ด้วยสิทธิ์ผู้สนับสนุนหรือสูงกว่า
  • เข้าถึงอินสแตนซ์ของฐานข้อมูล Azure สําหรับ MySQL - เซิร์ฟเวอร์ที่ยืดหยุ่น
  • ฐานข้อมูล MySQL ของคุณต้องสามารถเข้าถึงได้โดยสาธารณะและไม่ได้อยู่หลังไฟร์วอลล์หรือมีความปลอดภัยในเครือข่ายเสมือน

หมายเหตุ

จํานวนสูงสุดของแหล่งข้อมูลและปลายทางสําหรับหนึ่งเหตุการณ์สตรีมคือ 11

ตั้งค่า MySQL DB

ตัวเชื่อมต่อใช้ตัวเชื่อมต่อ Debezium MySQL เพื่อบันทึกการเปลี่ยนแปลงในฐานข้อมูล Azure สําหรับฐานข้อมูล MySQL ของคุณ คุณต้องกําหนดผู้ใช้ MySQL พร้อมสิทธิ์ที่เหมาะสมในฐานข้อมูลทั้งหมดที่ตัวเชื่อมต่อการรับส่งข้อความสามารถบันทึกการเปลี่ยนแปลงได้ คุณสามารถใช้ผู้ใช้ของผู้ดูแลระบบเพื่อเชื่อมต่อกับฐานข้อมูลซึ่งโดยปกติจะมีสิทธิ์ที่เหมาะสมอยู่แล้วตามด้านล่าง หรือคุณสามารถทําตามขั้นตอนด้านล่างเพื่อสร้างผู้ใช้ใหม่

หมายเหตุ

ผู้ใช้ใหม่หรือบัญชีผู้ดูแลระบบและรหัสผ่านที่สอดคล้องกันจะถูกใช้เพื่อเชื่อมต่อกับฐานข้อมูลในภายหลังภายใน Eventstream

  1. mysqlที่พร้อมท์คําสั่ง ให้สร้างผู้ใช้ MySQL:

    mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
    
  2. ให้สิทธิ์ที่จําเป็นแก่ผู้ใช้:

    mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%';
    
  3. ดําเนินการสิทธิ์ของผู้ใช้ให้เสร็จสมบูรณ์:

    mysql> FLUSH PRIVILEGES;
    

หากต้องการยืนยันว่าผู้ใช้หรือผู้ดูแลระบบมีสิทธิ์ที่จําเป็นให้เรียกใช้คําสั่งด้านล่างหรือไม่จากนั้นควรแสดงสิทธิ์ที่จําเป็นในขั้นตอนที่ #2 ข้างต้น

SHOW GRANTS FOR user;

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการให้สิทธิ์ที่จําเป็นแก่ผู้ใช้ ดู ที่ตัวเชื่อมต่อ Debezium สําหรับ MySQL :: คู่มือ Debezium

เปิดใช้งาน binlog

คุณต้องเปิดใช้งานการบันทึกไบนารีสําหรับการจําลอง MySQL แฟ้มบันทึกไบนารีบันทึกการปรับปรุงทรานแซคชันสําหรับเครื่องมือการจําลองแบบเพื่อเผยแพร่การเปลี่ยนแปลง

  1. บนหน้าพอร์ทัล Azure สําหรับฐานข้อมูล Azure ของคุณสําหรับบัญชี MySQL ให้เลือก พารามิเตอร์ เซิร์ฟเวอร์ภายใต้ การตั้งค่า ในการนําทางด้านซ้าย

  2. บนหน้า พารามิเตอร์ของเซิร์ฟเวอร์ ให้กําหนดค่าคุณสมบัติต่อไปนี้ จากนั้นเลือก บันทึก

    • สําหรับ binlog_row_image ให้เลือก เต็ม

    • สําหรับ binlog_expire_logs_seconds ให้ตั้งค่าจํานวนวินาทีที่บริการรอก่อนที่ไฟล์บันทึกไบนารีจะถูกลบออก ตั้งค่าเพื่อให้ตรงกับความต้องการของสภาพแวดล้อมของคุณ ตัวอย่างเช่น 86400

    สกรีนช็อตของการตั้งค่า binlog สําหรับการจําลองแบบภายใต้พารามิเตอร์ของเซิร์ฟเวอร์

เพิ่ม Azure MySQL DB (CDC) เป็นแหล่งข้อมูล

  1. ในตัวแสดงเวลาจริงของ Fabric เลือก เหตุการณ์สตรีม เพื่อสร้างเหตุการณ์ใหม่ ตรวจสอบให้แน่ใจว่า ได้เปิดใช้งานตัวเลือก ความสามารถขั้นสูง (ตัวอย่าง) แล้ว

    สกรีนช็อตของการสร้างกระแสเหตุการณ์ใหม่

  2. บนหน้าจอถัดไป เลือก เพิ่มแหล่งข้อมูลภายนอก

    สกรีนช็อตของการเลือกเพิ่มแหล่งข้อมูลภายนอก

กําหนดค่าและเชื่อมต่อกับ Azure MySQL DB (CDC)

  1. บนหน้าจอ เลือกแหล่งข้อมูล ให้เลือก Azure MySQL DB (CDC) เป็นแหล่งข้อมูล

    สกรีนช็อตของการเลือก Azure MySQL DB (CDC)

  2. บนหน้าจอ เชื่อมต่อ ภายใต้ การเชื่อมต่อ ให้เลือก การเชื่อมต่อ ใหม่ เพื่อสร้างการเชื่อมต่อระบบคลาวด์

  3. ใส่การตั้งค่าการเชื่อมต่อต่อไปนี้และข้อมูลประจําตัวการเชื่อมต่อสําหรับ Azure MySQL DB ของคุณ จากนั้นเลือกเชื่อมต่อ

    • เซิร์ฟเวอร์: ที่อยู่เซิร์ฟเวอร์ของฐานข้อมูล Azure ของคุณสําหรับฐานข้อมูล MySQL ตัวอย่างเช่น my-mysql-server.mysql.database.azure.com
    • ฐานข้อมูล: ชื่อฐานข้อมูล ตัวอย่างเช่น my_database
    • ชื่อการเชื่อมต่อ: สร้างขึ้นโดยอัตโนมัติ หรือคุณสามารถป้อนชื่อใหม่สําหรับการเชื่อมต่อนี้
    • ชื่อผู้ใช้ และ รหัสผ่าน: ใส่ข้อมูลประจําตัวสําหรับฐานข้อมูล Azure สําหรับฐานข้อมูล MySQL ของคุณ ตรวจสอบให้แน่ใจว่าคุณใส่บัญชีผู้ดูแลเซิร์ฟเวอร์หรือบัญชีผู้ใช้ที่สร้างขึ้นโดยมีสิทธิ์ที่จําเป็นที่มอบให้

    สกรีนช็อตของการตั้งค่าการเชื่อมต่อสําหรับ Azure MySQL DB (CDC)

  4. ป้อนข้อมูลต่อไปนี้เพื่อกําหนดค่าแหล่งข้อมูล Azure MySQL DB CDC จากนั้นเลือก ถัดไป

    • Table(s): ใส่รายการของชื่อตารางที่คั่นด้วยเครื่องหมายจุลภาค ชื่อตารางแต่ละชื่อต้องเป็นไปตามรูปแบบ <database name>.<table name>ตัวอย่างเช่น my_database.users
    • ID เซิร์ฟเวอร์: ป้อนค่าที่ไม่ซ้ํากันสําหรับแต่ละเซิร์ฟเวอร์และไคลเอ็นต์การจําลองแบบในคลัสเตอร์ MySQL ค่าเริ่มต้นคือ 1000
    • พอร์ต: ปล่อยค่าเริ่มต้นไว้โดยไม่เปลี่ยนแปลง

    สกรีนช็อตของการเลือกตาราง ID เซิร์ฟเวอร์ และพอร์ตสําหรับการเชื่อมต่อ Azure MySQL DB (CDC)

    หมายเหตุ

    ตั้งค่า ID เซิร์ฟเวอร์ที่แตกต่างกันสําหรับผู้อ่านแต่ละราย ทุกไคลเอ็นต์ฐานข้อมูล MySQL สําหรับการอ่าน binlog ควรมีรหัสเฉพาะที่เรียกว่า ID เซิร์ฟเวอร์ MySQL Server ใช้ ID นี้เพื่อรักษาการเชื่อมต่อเครือข่ายและตําแหน่ง binlog งานอื่นที่ใช้รหัสเซิร์ฟเวอร์เดียวกันอาจส่งผลให้อ่านจากตําแหน่ง binlog ไม่ถูกต้องได้ ดังนั้น ขอแนะนําให้ตั้งค่า ID เซิร์ฟเวอร์ที่แตกต่างกันสําหรับโปรแกรมอ่านแต่ละตัว

  5. หลังจากตรวจทานสรุปสําหรับแหล่ง Azure MySQL DB CDC แล้ว ให้เลือก เพิ่ม เพื่อดําเนินการกําหนดค่าให้เสร็จสมบูรณ์

คุณจะเห็นแหล่งข้อมูล Azure MySQL DB (CDC) ที่เพิ่มลงในเหตุการณ์สตรีม ของคุณในโหมดแก้ไข

สกรีนช็อตของแหล่งที่มา CDC ของ Azure MySQL DB ที่เพิ่มเข้ามาในโหมดแก้ไขพร้อมปุ่มเผยแพร่ที่เน้น

เลือก เผยแพร่ เพื่อเผยแพร่การเปลี่ยนแปลง และเริ่มต้นการสตรีมข้อมูล Azure MySQL DB CDC ไปยังเหตุการณ์สตรีม

สกรีนช็อตของเหตุการณ์สตรีมที่เผยแพร่ด้วยแหล่งข้อมูล Azure MySQL DB CDC ใน Live View

ตัวเชื่อมต่ออื่นๆ: