เพิ่มแหล่ง CDC ของฐานข้อมูล MySQL ไปยังเหตุการณ์สตรีม
หมายเหตุ
บทความนี้ประกอบด้วยการอ้างอิงถึงคําว่า SLAVE
คําที่ Microsoft ไม่ใช้อีกต่อไป เมื่อลบคําศัพท์ออกจากซอฟต์แวร์เราจะลบออกจากบทความนี้
บทความนี้แสดงวิธีการเพิ่มแหล่งข้อมูลการจับภาพข้อมูลการเปลี่ยนแปลง MySQL ไปยังเหตุการณ์สตรีม ปัจจุบัน CDC ฐานข้อมูล MySQL ได้รับการสนับสนุนจากบริการต่อไปนี้ซึ่งฐานข้อมูลสามารถเข้าถึงได้แบบสาธารณะ:
- ฐานข้อมูล Azure สําหรับ MySQL
- Amazon RDS for MySQL
- Amazon Aurora MySQL
- Google Cloud SQL สําหรับ MySQL (GCP)
คู่มือนี้ใช้ Azure Database สําหรับ MySQL CDC เป็นตัวอย่าง
เมื่อแหล่งข้อมูล CDC ของฐานข้อมูล MySQL ถูกเพิ่มลงในเหตุการณ์จะบันทึกการเปลี่ยนแปลงระดับแถวไปยังตารางที่ระบุ จากนั้นการเปลี่ยนแปลงเหล่านี้สามารถดําเนินการในแบบเรียลไทม์และส่งไปยังปลายทางที่แตกต่างกันสําหรับการวิเคราะห์เพิ่มเติม
หมายเหตุ
แหล่งข้อมูลนี้ไม่ได้รับการสนับสนุนในภูมิภาคต่อไปนี้ของความจุพื้นที่ทํางานของคุณ: US3 ตะวันตก สวิตเซอร์แลนด์ตะวันตก
ข้อกำหนดเบื้องต้น
- เข้าถึงพื้นที่ทํางานในโหมดสิทธิ์การใช้งาน Fabric capacity (หรือ) โหมดสิทธิ์การใช้งานรุ่นทดลองใช้ที่มีสิทธิ์ผู้สนับสนุนหรือสูงกว่า
- เข้าถึงอินสแตนซ์ของฐานข้อมูล MySQL เช่น ฐานข้อมูลในฐานข้อมูล Azure สําหรับ MySQL - เซิร์ฟเวอร์แบบยืดหยุ่น
- ฐานข้อมูล MySQL ของคุณต้องสามารถเข้าถึงได้โดยสาธารณะและไม่ได้อยู่หลังไฟร์วอลล์หรือมีความปลอดภัยในเครือข่ายเสมือน
- ถ้าคุณไม่มีเหตุการณ์สตรีม ให้สร้างเหตุการณ์สตรีม
ตั้งค่า MySQL DB
ตัวเชื่อมต่อใช้ตัวเชื่อมต่อ Debezium MySQL เพื่อบันทึกการเปลี่ยนแปลงในฐานข้อมูล MySQL ของคุณ คุณต้องกําหนดผู้ใช้ MySQL พร้อมสิทธิ์ที่เหมาะสมในฐานข้อมูลทั้งหมดที่ตัวเชื่อมต่อการรับส่งข้อความสามารถบันทึกการเปลี่ยนแปลงได้ คุณสามารถใช้ผู้ใช้ ผู้ดูแลระบบ
หมายเหตุ
ผู้ใช้ใหม่หรือบัญชีผู้ดูแลระบบและรหัสผ่านที่สอดคล้องกันจะถูกใช้เพื่อเชื่อมต่อกับฐานข้อมูลในภายหลังภายใน Eventstream
mysql
ที่พร้อมท์คําสั่ง ให้สร้างผู้ใช้ MySQL:mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
ให้สิทธิ์ที่จําเป็นแก่ผู้ใช้:
mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%';
ดําเนินการสิทธิ์ของผู้ใช้ให้เสร็จสมบูรณ์:
mysql> FLUSH PRIVILEGES;
หากต้องการยืนยันว่าผู้ใช้หรือผู้ดูแลระบบมีสิทธิ์ที่จําเป็นให้เรียกใช้คําสั่งนี้หรือไม่จากนั้นควรแสดงสิทธิ์ที่จําเป็นในขั้นตอนที่ #2:
SHOW GRANTS FOR user;
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการให้สิทธิ์ที่จําเป็นแก่ผู้ใช้ โปรดดู ที่ ตัวเชื่อมต่อ Debezium สําหรับ MySQL: คู่มือ Debezium
เปิดใช้งาน binlog
คุณต้องเปิดใช้งานการบันทึกไบนารีสําหรับการจําลอง MySQL แฟ้มบันทึกไบนารีบันทึกการปรับปรุงทรานแซคชันสําหรับเครื่องมือการจําลองแบบเพื่อเผยแพร่การเปลี่ยนแปลง ส่วนนี้ใช้ Azure Database สําหรับ MySQL CDC เป็นตัวอย่างเพื่อแสดงขั้นตอนการกําหนดค่า
บนหน้าพอร์ทัล Azure สําหรับฐานข้อมูล Azure ของคุณสําหรับบัญชี MySQL ให้เลือก พารามิเตอร์ เซิร์ฟเวอร์ภายใต้ การตั้งค่า ในการนําทางด้านซ้าย
บนหน้า พารามิเตอร์ของเซิร์ฟเวอร์ ให้กําหนดค่าคุณสมบัติต่อไปนี้ จากนั้นเลือก บันทึก
สําหรับ binlog_row_image ให้เลือก เต็ม
สําหรับ binlog_expire_logs_seconds ให้ตั้งค่าจํานวนวินาทีที่บริการรอก่อนที่ไฟล์บันทึกไบนารีจะถูกลบออก ตั้งค่าเพื่อให้ตรงกับความต้องการของสภาพแวดล้อมของคุณ ตัวอย่างเช่น 86400
เพิ่ม MySQL DB (CDC) เป็นแหล่งข้อมูล
ถ้าคุณยังไม่ได้เพิ่มแหล่งข้อมูลใด ๆ ลงในเหตุการณ์สตรีมของคุณ ให้เลือก ใช้ไทล์แหล่งข้อมูล ภายนอก
ถ้าคุณกําลังเพิ่มแหล่งข้อมูลไปยังเหตุการณ์สตรีมที่เผยแพร่แล้ว สลับไปยัง โหมดแก้ไข เลือก เพิ่มแหล่งข้อมูล บนริบบอน แล้วเลือก แหล่งข้อมูลภายนอก
บนหน้า เลือกแหล่งข้อมูล ให้ค้นหาและเลือก เชื่อมต่อ บนไทล์ MySQL DB (CDC)
กําหนดค่าและเชื่อมต่อกับ MySQL DB (CDC)
บนหน้าจอ เชื่อมต่อ ภายใต้ การเชื่อมต่อ ให้เลือก การเชื่อมต่อ ใหม่ เพื่อสร้างการเชื่อมต่อระบบคลาวด์
ใส่ การตั้งค่าการเชื่อมต่อต่อไปนี้ และ ข้อมูลประจําตัวการเชื่อมต่อสําหรับ MySQL DB ของคุณ จากนั้นเลือก Connect
Server: ที่อยู่เซิร์ฟเวอร์ของฐานข้อมูล MySQL ของคุณ ตัวอย่างเช่น my-mysql-server.mysql.database.azure.com
ฐานข้อมูล: ชื่อฐานข้อมูล ตัวอย่างเช่น my_database
ชื่อการเชื่อมต่อ: สร้างขึ้นโดยอัตโนมัติ หรือคุณสามารถป้อนชื่อใหม่สําหรับการเชื่อมต่อนี้
ชื่อผู้ใช้และรหัสผ่าน : ใส่ข้อมูลประจําตัวสําหรับฐานข้อมูล MySQL ของคุณ ตรวจสอบให้แน่ใจว่าคุณใส่บัญชีผู้ดูแลเซิร์ฟเวอร์หรือบัญชีผู้ใช้ที่สร้างขึ้นโดยมีสิทธิ์ที่จําเป็นที่มอบให้
ป้อนข้อมูลต่อไปนี้เพื่อกําหนดค่าแหล่งข้อมูล MySQL DB CDC จากนั้นเลือก ถัดไป
Table(s): ใส่รายการของชื่อตารางที่คั่นด้วยเครื่องหมายจุลภาค ชื่อตารางแต่ละชื่อต้องเป็นไปตามรูปแบบ
<database name>.<table name>
ตัวอย่างเช่น my_database.usersID เซิร์ฟเวอร์: ป้อนค่าที่ไม่ซ้ํากันสําหรับแต่ละเซิร์ฟเวอร์และไคลเอ็นต์การจําลองแบบในคลัสเตอร์ MySQL ค่าเริ่มต้นคือ 1000
พอร์ต: ปล่อยค่าเริ่มต้นไว้โดยไม่เปลี่ยนแปลง
คุณยังสามารถแก้ไขชื่อแหล่งข้อมูลโดยการเลือกปุ่มดินสอสําหรับชื่อแหล่งข้อมูลในส่วนรายละเอียด Stream ทางด้านขวา
หมายเหตุ
ตั้งค่า ID เซิร์ฟเวอร์ที่แตกต่างกันสําหรับผู้อ่านแต่ละราย ทุกไคลเอ็นต์ฐานข้อมูล MySQL สําหรับการอ่าน binlog ควรมีรหัสเฉพาะที่เรียกว่า ID เซิร์ฟเวอร์ MySQL Server ใช้ ID นี้เพื่อรักษาการเชื่อมต่อเครือข่ายและตําแหน่ง binlog งานอื่นที่ใช้รหัสเซิร์ฟเวอร์เดียวกันอาจส่งผลให้อ่านจากตําแหน่ง binlog ไม่ถูกต้องได้ ดังนั้น ขอแนะนําให้ตั้งค่า ID เซิร์ฟเวอร์ที่แตกต่างกันสําหรับโปรแกรมอ่านแต่ละตัว
บนหน้า Review + connect หลังจากตรวจทานสรุปสําหรับแหล่งข้อมูล MySQL DB CDC ให้เลือก เพิ่ม เพื่อดําเนินการกําหนดค่าให้เสร็จสมบูรณ์
หมายเหตุ
จํานวนสูงสุดของแหล่งข้อมูลและปลายทางสําหรับหนึ่งเหตุการณ์สตรีมคือ 11
ดูเหตุการณ์ที่อัปเดตแล้ว
คุณจะเห็นแหล่งข้อมูล MySQL DB (CDC) ที่เพิ่มลงในเหตุการณ์ของคุณใน โหมดแก้ไข
เลือก เผยแพร่ เพื่อเผยแพร่การเปลี่ยนแปลง และเริ่มต้นการสตรีมข้อมูล MySQL DB CDC ไปยังกระแสข้อมูล
เนื้อหาที่เกี่ยวข้อง
ตัวเชื่อมต่ออื่นๆ: