الانتقال إلى المحتوى الرئيسي
مثال على الإعدادات:
SOURCE(MYSQL(
    port 3306
    user 'clickhouse'
    password 'qwerty'
    replica(host 'example01-1' priority 1)
    replica(host 'example01-2' priority 1)
    db 'db_name'
    table 'table_name'
    where 'id=10'
    invalidate_query 'SQL_QUERY'
    fail_on_connection_loss 'true'
    query 'SELECT id, value_1, value_2 FROM db_name.table_name'
    enable_compression 1
))

حقول الإعداد:
الإعدادالوصف
portالمنفذ على خادم MySQL. يمكنك تحديده لجميع النسخ المتماثلة، أو لكل نسخة على حدة (داخل <replica>).
userاسم مستخدم MySQL. يمكنك تحديده لجميع النسخ المتماثلة، أو لكل نسخة على حدة (داخل <replica>).
passwordكلمة مرور مستخدم MySQL. يمكنك تحديدها لجميع النسخ المتماثلة، أو لكل نسخة على حدة (داخل <replica>).
replicaقسم إعدادات النسخة المتماثلة. يمكن أن يوجد أكثر من قسم واحد.
replica/hostمضيف MySQL.
replica/priorityأولوية النسخة المتماثلة. عند محاولة الاتصال، يمر ClickHouse على النسخ المتماثلة وفق ترتيب الأولوية. وكلما كان الرقم أصغر، كانت الأولوية أعلى.
dbاسم قاعدة البيانات.
tableاسم الجدول.
whereمعايير التحديد. صياغة الشروط هي نفسها المستخدمة في عبارة WHERE في MySQL، على سبيل المثال: id > 10 AND id < 20. اختياري.
invalidate_queryاستعلام للتحقق من حالة القاموس. اختياري. اقرأ المزيد في قسم Refreshing dictionary data using LIFETIME.
fail_on_connection_lossيتحكم في سلوك الخادم عند فقدان الاتصال. إذا كانت القيمة true، فسيُطرَح استثناء فورًا عند فقدان الاتصال بين العميل والخادم. وإذا كانت false، فسيعيد الخادم محاولة جلب البيانات ثلاث مرات على الأقل قبل الإبلاغ عن خطأ. لاحظ أن إعادة المحاولة تؤدي إلى زيادة زمن الاستجابة. القيمة الافتراضية: false.
queryالاستعلام المخصص. اختياري.
enable_compressionيفعّل ضغط zlib لاتصال بروتوكول MySQL. عند ضبطه على 1، يطلب ClickHouse ضغطًا على مستوى البروتوكول من خادم MySQL. ويمكن أيضًا ضبطه لكل نسخة متماثلة داخل <replica>. القيمة الافتراضية: 0.
لا يمكن استخدام الحقلين table أو where مع الحقل query في الوقت نفسه. ويجب التصريح بأحد الحقلين table أو query.
لا توجد معلمة صريحة باسم secure. عند إنشاء اتصال SSL، يكون الأمان إلزاميًا.
يمكن الاتصال بـ MySQL على المضيف المحلي عبر المقابس. للقيام بذلك، اضبط host وsocket. مثال على الإعدادات:
SOURCE(MYSQL(
    host 'localhost'
    socket '/path/to/socket/file.sock'
    user 'clickhouse'
    password 'qwerty'
    db 'db_name'
    table 'table_name'
    where 'id=10'
    invalidate_query 'SQL_QUERY'
    fail_on_connection_loss 'true'
    query 'SELECT id, value_1, value_2 FROM db_name.table_name'
))
آخر تعديل في ٢٥ يونيو ٢٠٢٦