يوضح لك هذا الدليل خطوة بخطوة كيفية تهيئة Amazon RDS MySQL لنسخ البيانات إلى ClickHouse Cloud باستخدام MySQL ClickPipe. للاطلاع على الأسئلة الشائعة المتعلقة بـ MySQL CDC، راجع صفحة الأسئلة الشائعة لـ MySQL.
تمكين الاحتفاظ بالسجل الثنائي
السجل الثنائي هو مجموعة من ملفات السجل التي تحتوي على معلومات حول تعديلات البيانات التي أُجريت على مثيل خادم MySQL، وملفات السجل الثنائي مطلوبة للنسخ المتماثل. لتهيئة الاحتفاظ بالسجل الثنائي في RDS MySQL، يجب عليك تمكين binary logging وزيادة مدة الاحتفاظ بالـ binlog.
تمكين binary logging عبر النسخ الاحتياطي التلقائي
تحدد ميزة النسخ الاحتياطية التلقائية ما إذا كان binary logging ممكّنًا أم معطّلًا في MySQL. يمكن تهيئة النسخ الاحتياطية التلقائية لمثيلك في RDS Console بالانتقال إلى Modify > Additional configuration > Backup وتحديد مربع الاختيار Enable automated backups (إذا لم يكن محددًا بالفعل).نوصي بضبط Backup retention period على قيمة طويلة بشكل معقول، وفقًا لحالة استخدام النسخ المتماثل.
زيادة مدة الاحتفاظ بالـ binlog
إذا حاولت ClickPipes استئناف النسخ المتماثل وكانت ملفات binlog المطلوبة قد حُذفت بسبب قيمة الاحتفاظ بالـ binlog المُعدّة، فسينتقل ClickPipe إلى حالة خطأ وستلزم إعادة المزامنة.
يحذف Amazon RDS، افتراضيًا، السجل الثنائي بأسرع وقت ممكن (أي الحذف المؤجل). نوصي بزيادة مدة الاحتفاظ بالـ binlog إلى 72 ساعة على الأقل لضمان توفر ملفات السجل الثنائي لعمليات النسخ المتماثل في حالات الفشل. لتعيين مدة احتفاظ للسجل الثنائي (binlog retention hours)، استخدم الإجراء mysql.rds_set_configuration:إذا لم يتم ضبط هذا الإعداد أو تم ضبطه على فترة زمنية قصيرة جدًا، فقد يؤدي ذلك إلى حدوث فجوات في سجلات السجل الثنائي، مما يحدّ من قدرة ClickPipes على استئناف النسخ المتماثل.
يمكن العثور على مجموعة المعلمات عند النقر على مثيل MySQL الخاص بك في RDS Console، ثم الانتقال إلى علامة التبويب Configuration.
إذا كان لديك عنقود MySQL، فيمكن العثور على المعلمات أدناه في مجموعة المعلمات الخاصة بـ DB cluster بدلًا من مجموعة معلمات مثيل DB.
انقر على رابط مجموعة المعلمات، وسيأخذك ذلك إلى صفحتها المخصصة. ينبغي أن ترى زر Edit في أعلى اليمين.
يلزم ضبط المعلمات التالية على النحو الآتي:
- اضبط
binlog_format على ROW.
- اضبط
binlog_row_metadata على FULL
- اضبط
binlog_row_image على FULL
بعد ذلك، انقر على Save Changes في الزاوية العلوية اليمنى. قد تحتاج إلى إعادة تشغيل المثيل لكي تسري التغييرات — ويمكنك معرفة ذلك إذا رأيت Pending reboot بجانب رابط مجموعة المعلمات في علامة التبويب Configuration ضمن مثيل RDS.
يدعم MySQL ClickPipe أيضًا النسخ المتماثل من دون وضع GTID. ومع ذلك، يُوصى بتمكين وضع GTID لتحسين الأداء وتسهيل استكشاف الأخطاء وإصلاحها.
تُعد Global Transaction Identifiers (GTIDs) معرّفات فريدة تُسنَد إلى كل معاملة تم اعتمادها في MySQL. وهي تُبسّط النسخ المتماثل عبر binlog وتجعل استكشاف الأخطاء وإصلاحها أكثر سهولة. نوصي بتمكين وضع GTID حتى يتمكن MySQL ClickPipe من استخدام النسخ المتماثل المستند إلى GTID.
النسخ المتماثل المستند إلى GTID مدعوم في Amazon RDS for MySQL للإصدارات 5.7 و8.0 و8.4. لتمكين وضع GTID لمثيل Aurora MySQL لديك، اتبع الخطوات التالية:
- في RDS Console، انقر على مثيل MySQL الخاص بك.
- انقر على علامة التبويب Configuration.
- انقر على رابط مجموعة المعلمات.
- انقر على الزر Edit في الزاوية العلوية اليمنى.
- اضبط
enforce_gtid_consistency على ON.
- اضبط
gtid-mode على ON.
- انقر على Save Changes في الزاوية العلوية اليمنى.
- أعد تشغيل المثيل لتطبيق التغييرات.
يدعم MySQL ClickPipe أيضًا النسخ المتماثل من دون وضع GTID. ومع ذلك، يُوصى بتمكين وضع GTID لتحسين الأداء وتسهيل استكشاف الأخطاء وإصلاحها.
اتصل بمثيل RDS MySQL الخاص بك كمستخدم مسؤول، ثم نفّذ الأوامر التالية:
-
أنشئ مستخدمًا مخصصًا لـ ClickPipes:
-
امنح أذونات المخطط. يوضّح المثال التالي الأذونات الخاصة بقاعدة البيانات
mysql. كرّر هذه الأوامر لكل قاعدة بيانات ولكل مضيف تريد إجراء النسخ المتماثل منهما:
-
امنح المستخدم أذونات النسخ المتماثل:
استخدام مصادقة IAM (اختياري)
بدلًا من كلمة المرور، يمكنك مصادقة مستخدم ClickPipes عبر الوصول المستند إلى الدور في AWS IAM. أنشئ المستخدم كما يلي، ثم امنحه امتيازات المخطط والنسخ المتماثل نفسها الموضحة أعلاه:
راجع AWS IAM DB authentication (RDS/Aurora) للاطلاع على الخطوات الكاملة لإعداد دور IAM والسياسة المطلوبة لكي تتمكّن ClickPipes من المصادقة بهذه الطريقة.
التحكم في الوصول المستند إلى عناوين IP
لتقييد حركة المرور إلى مثيل Aurora MySQL لديك، أضف عناوين IP الثابتة لـ NAT الموثقة إلى Inbound rules في مجموعة أمان RDS الخاصة بك.
الوصول الخاص عبر AWS PrivateLink
للاتصال بمثيل RDS الخاص بك عبر شبكة خاصة، يمكنك استخدام AWS PrivateLink. اتبع دليل إعداد AWS PrivateLink لـ ClickPipes لإعداد هذا الاتصال.
الآن، بعد تهيئة مثيل Amazon RDS MySQL لديك للنسخ المتماثل عبر binlog والاتصال بشكل آمن بـ ClickHouse Cloud، يمكنك إنشاء أول MySQL ClickPipe. وللاطلاع على الأسئلة الشائعة حول MySQL CDC، راجع صفحة الأسئلة الشائعة الخاصة بـ MySQL.