يوضح هذا الدليل خطوة بخطوة كيفية إعداد مثيل RDS MariaDB لديك لنسخ بياناته عبر MySQL ClickPipe.
تمكين الاحتفاظ بالسجل الثنائي
السجل الثنائي هو مجموعة من ملفات السجل التي تحتوي على معلومات حول تعديلات البيانات التي أُجريت على مثيل خادم MySQL. وتُعد ملفات السجل الثنائي مطلوبة للنسخ المتماثل. يجب اتباع كلتا الخطوتين أدناه:
تمكين التسجيل الثنائي عبر النسخ الاحتياطي الآلي
تحدد ميزة النسخ الاحتياطي الآلي ما إذا كان التسجيل الثنائي مفعّلًا أو معطّلًا في MySQL. ويمكن ضبط ذلك من خلال AWS Console:

يُنصح بضبط فترة الاحتفاظ بالنسخ الاحتياطية على مدة طويلة بما يكفي، وفقًا لحالة استخدام النسخ المتماثل.
ساعات الاحتفاظ بـ binlog
تستخدم Amazon RDS for MariaDB طريقة مختلفة لتحديد مدة الاحتفاظ بـ binlog، وهي مقدار الوقت الذي يُحتفَظ فيه بملف binlog الذي يحتوي على التغييرات. وإذا لم تُقرأ بعض التغييرات قبل إزالة ملف binlog، فلن يتمكن النسخ المتماثل من الاستمرار. القيمة الافتراضية لساعات الاحتفاظ بـ binlog هي NULL، ما يعني عدم الاحتفاظ بالسجلات الثنائية.
لتحديد عدد الساعات للاحتفاظ بالسجلات الثنائية على مثيل قاعدة بيانات، استخدم الدالة mysql.rds_set_configuration مع فترة احتفاظ بـ binlog طويلة بما يكفي لحدوث النسخ المتماثل. ويُعد 24 hours الحد الأدنى الموصى به.
mysql=> call mysql.rds_set_configuration('binlog retention hours', 24);اضبط إعدادات binlog في مجموعة المعلمات
يمكنك العثور على مجموعة المعلمات بالنقر على مثيل MariaDB الخاص بك في RDS Console، ثم الانتقال إلى علامة التبويب Configurations.

عند النقر على رابط مجموعة المعلمات، ستنتقل إلى صفحة مجموعة المعلمات. وسترى زر Edit في أعلى اليمين:

يجب ضبط الإعدادات binlog_format وbinlog_row_metadata وbinlog_row_image على النحو التالي:
- اضبط
binlog_formatعلىROW.

- اضبط
binlog_row_metadataعلىFULL

- اضبط
binlog_row_imageعلىFULL

بعد ذلك، انقر على Save Changes في أعلى اليمين. قد تحتاج إلى إعادة تشغيل المثيل حتى تدخل التغييرات حيز التنفيذ. إذا ظهر لك Pending reboot بجانب رابط مجموعة المعلمات في علامة التبويب Configurations الخاصة بمثيل RDS، فهذه علامة واضحة على ضرورة إعادة تشغيل المثيل.
تمكين وضع GTID
تُعدّ Global Transaction Identifiers (GTIDs) معرّفات فريدة تُسنَد إلى كل معاملة مُعتمدة في MySQL/MariaDB. وهي تُبسّط النسخ المتماثل عبر binlog وتجعل استكشاف الأخطاء وإصلاحها أكثر سهولة. يفعّل MariaDB وضع GTID افتراضيًا، لذلك لا يلزم المستخدم اتخاذ أي إجراء لاستخدامه.
إعداد مستخدم لقاعدة البيانات
اتصل بمثيل RDS MariaDB الخاص بك باستخدام مستخدم مسؤول ونفّذ الأوامر التالية:
-
أنشئ مستخدمًا مخصصًا لـ 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 authentication (اختياري)
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
إذا كنت تريد تقييد حركة المرور إلى مثيل RDS الخاص بك، فيُرجى إضافة عناوين NAT IP الثابتة الموضّحة في الوثائق إلى Inbound rules في مجموعة الأمان الخاصة بـ RDS.


الوصول الخاص عبر AWS PrivateLink
للاتصال بمثيل RDS الخاص بك عبر شبكة خاصة، يمكنك استخدام AWS PrivateLink. اتبع دليل إعداد AWS PrivateLink لـ ClickPipes لإعداد هذا الاتصال.