Skip to main content
يتيح الاتصال بقواعد البيانات على خادم MySQL بعيد وتنفيذ استعلامات INSERT وSELECT لتبادل البيانات بين ClickHouse وMySQL. يترجم محرك قاعدة البيانات MySQL الاستعلامات إلى خادم MySQL، مما يتيح لك تنفيذ عمليات مثل SHOW TABLES أو SHOW CREATE TABLE. لا يمكنك تنفيذ الاستعلامات التالية:
  • RENAME
  • CREATE TABLE
  • ALTER

إنشاء قاعدة بيانات

معلمات المحرك
  • host:port — عنوان خادم MySQL.
  • database — اسم قاعدة البيانات على الخادم البعيد.
  • user — مستخدم MySQL.
  • password — كلمة مرور المستخدم.
الإعدادات

enable_compression

يُفعّل ضغط zlib لاتصال بروتوكول MySQL. عند ضبطه على 1، يطلب ClickHouse ضغطًا على مستوى البروتوكول من خادم MySQL. القيمة الافتراضية: 0. مثال:

TLS/SSL

تُمرَّر بيانات اعتماد الاتصال المشفّر بخادم MySQL كمفاتيح مجموعة مُسمّاة (أو كوسيطات مفتاح-قيمة): القيم هي محتويات ملفات PEM المقابلة، ويمكن نسخها إلى مجموعة مُسمّاة أو إلى استعلام. وتُخفى في السجلات واستعلامات SHOW، تمامًا كما تُخفى كلمات المرور. يمكن أيضًا تقديم بيانات الاعتماد نفسها على هيئة مسارات لملفات على الخادم، في ssl_ca وssl_cert وssl_key، ولكن فقط ضمن مجموعة مُسمّاة مُعرَّفة في ملف تهيئة الخادم؛ ولا يمكن تجاوز هذه القيمة في استعلام. يفتح الخادم هذه الملفات بصلاحياته الخاصة، لذا فإن قبول مسار من SQL سيتيح لأي مستخدم قادر على تعريف مصدر MySQL استكشاف نظام الملفات المحلي والمصادقة باستخدام شهادة ومفتاح لا يُسمح له بقراءتهما بنفسه.

دعم أنواع البيانات

يُتحكَّم في تحويل الأنواع المكانية، باستثناء POINT الذي يُحوَّل دائمًا، بواسطة العلامة geometry في الإعداد mysql_datatypes_support_level، وهي مفعّلة افتراضيًا. يُعيَّن نوع العمود العام GEOMETRY إلى النوع الشامل Geometry (وهو Variant للأنواع الهندسية المحددة). ولأن هذا العمود يمكن أن يحتوي على قيمة من أي نوع فرعي، فإن قراءة قيمة لا يوجد لنوعها الفرعي مقابل في ClickHouse (GEOMETRYCOLLECTION) تؤدي إلى طرح استثناء وقت القراءة؛ ويُقبل عدم التوافق هذا مقابل استخدام نوع هندسي ملائم. تُحوَّل الأعمدة المعرّفة بالنوع GEOMETRYCOLLECTION إلى النوع String، شأنها شأن جميع أنواع بيانات MySQL الأخرى. النوع Nullable مدعوم. يُعيَّن العمود المكاني إلى String (Nullable(String) إذا كان قابلاً للقيم الفارغة) بدلًا من نوع هندسي في ثلاث حالات: إذا كان معرّفًا بالنوع GEOMETRYCOLLECTION؛ أو إذا كانت العلامة geometry معطّلة ولم يكن النوع POINT؛ أو إذا كان العمود قابلاً للقيم الفارغة ولم يكن النوع POINT، لأن Point هو النوع الهندسي الوحيد الذي يمكن تداخله داخل Nullable. في الحالات الثلاث جميعها، تحتفظ السلسلة بالقيمة كما يعيدها MySQL تمامًا: بادئة SRID من 4 بايتات تتبعها حمولة WKB، لذا أزل هذه البايتات الأربع الأولى قبل تمريرها إلى مفكك ترميز WKB.

دعم المتغيرات العامة

لتحقيق توافق أفضل، يمكنك الإشارة إلى المتغيرات العامة بأسلوب MySQL، بالشكل @@identifier. المتغيرات التالية مدعومة:
  • version
  • max_allowed_packet
حتى الآن، هذه المتغيرات مجرد عناصر وهمية ولا تقابل أي شيء فعليًا.
مثال:

أمثلة الاستخدام

جدول في MySQL:
قاعدة بيانات في ClickHouse تتبادل البيانات مع خادم MySQL:
آخر تعديل في ١٤ أغسطس ٢٠٢٦