يوضح لك هذا الدليل خطوة بخطوة كيفية تهيئة 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
يحذف Amazon RDS، افتراضيًا، السجل الثنائي بأسرع وقت ممكن (أي الحذف المؤجل). نوصي بزيادة مدة الاحتفاظ بالـ binlog إلى 72 ساعة على الأقل لضمان توفر ملفات السجل الثنائي لعمليات النسخ المتماثل في حالات الفشل. لتعيين مدة احتفاظ للسجل الثنائي (binlog retention hours)، استخدم الإجراء mysql.rds_set_configuration:
mysql=> call mysql.rds_set_configuration('binlog retention hours', 72);إذا لم يتم ضبط هذا الإعداد أو تم ضبطه على فترة زمنية قصيرة جدًا، فقد يؤدي ذلك إلى حدوث فجوات في سجلات السجل الثنائي، مما يحدّ من قدرة ClickPipes على استئناف النسخ المتماثل.
اضبط إعدادات binlog
يمكن العثور على مجموعة المعلمات عند النقر على مثيل MySQL الخاص بك في RDS Console، ثم الانتقال إلى علامة التبويب Configuration.

انقر على رابط مجموعة المعلمات، وسيأخذك ذلك إلى صفحتها المخصصة. ينبغي أن ترى زر Edit في أعلى اليمين.

يلزم ضبط المعلمات التالية على النحو الآتي:
- اضبط
binlog_formatعلىROW.

- اضبط
binlog_row_metadataعلىFULL

- اضبط
binlog_row_imageعلىFULL

بعد ذلك، انقر على Save Changes في الزاوية العلوية اليمنى. قد تحتاج إلى إعادة تشغيل المثيل لكي تسري التغييرات — ويمكنك معرفة ذلك إذا رأيت Pending reboot بجانب رابط مجموعة المعلمات في علامة التبويب Configuration ضمن مثيل RDS.
فعِّل وضع 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 في الزاوية العلوية اليمنى.
- أعد تشغيل المثيل لتطبيق التغييرات.

إعداد مستخدم لقاعدة البيانات
اتصل بمثيل RDS MySQL الخاص بك كمستخدم مسؤول، ثم نفّذ الأوامر التالية:
-
أنشئ مستخدمًا مخصصًا لـ ClickPipes:
CREATE USER 'clickpipes_user'@'host' IDENTIFIED BY 'some-password'; -
امنح أذونات المخطط. يوضّح المثال التالي الأذونات الخاصة بقاعدة البيانات
mysql. كرّر هذه الأوامر لكل قاعدة بيانات ولكل مضيف تريد إجراء النسخ المتماثل منهما:GRANT SELECT ON `mysql`.* TO 'clickpipes_user'@'host'; -
امنح المستخدم أذونات النسخ المتماثل:
GRANT REPLICATION CLIENT ON *.* TO 'clickpipes_user'@'%'; GRANT REPLICATION SLAVE ON *.* TO 'clickpipes_user'@'%';
استخدام مصادقة IAM (اختياري)
Instead of a password, you can authenticate the ClickPipes user with an AWS IAM role. This lets ClickPipes connect to your Amazon RDS instance without storing database credentials.
Enable IAM authentication
- Log in to your AWS account and go to the RDS instance you want to configure.
- Click Modify.
- Scroll to the Database authentication section.
- Select Password and IAM database authentication.
- Click Continue.
- Review the changes and select Apply immediately.
Create the ClickPipes user
Create the ClickPipes user with IAM authentication enabled, then grant it the same schema and replication privileges shown above:
CREATE USER 'clickpipes_iam_user' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';Obtain the ClickHouse service IAM role ARN
- Log in to your ClickHouse Cloud account.
- Select the ClickHouse service you want to connect.
- Select the Settings tab.
- Scroll to the Network security information section at the bottom of the page.
- Copy the service's Service role ID (IAM) value, shown below.

This value is your {ClickHouse_IAM_ARN} — the role ClickPipes uses to access your RDS instance.
Obtain the resource ID
- Log in to your AWS account and go to the RDS instance you want to configure.
- Select the Configuration tab.
- Note the Resource ID value — it looks like
db-xxxxxxxxxxxxxx. This is your{RDS_RESOURCE_ID}, which you reference in the permissions policy.
Create the IAM role
- Log in to your AWS account with an IAM user that has permission to create and manage IAM roles.
- Open the IAM console.
- Create a new IAM role with the following trust and permissions policies.
Trust policy (replace
{ClickHouse_IAM_ARN}with the IAM role ARN of your ClickHouse instance):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "{ClickHouse_IAM_ARN}" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] }Permissions policy (replace
{RDS_RESOURCE_ID}with the resource ID of your RDS instance,{RDS_REGION}with its region, and{AWS_ACCOUNT}with your AWS account ID):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:{RDS_REGION}:{AWS_ACCOUNT}:dbuser:{RDS_RESOURCE_ID}/clickpipes_iam_user" ] } ] } - Once the role is created, copy its ARN. This is your
{RDS_ACCESS_IAM_ROLE_ARN}.
You can now use this IAM role to authenticate with your RDS instance from 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.