سؤال

لدي سجلات mysql للنسخ المتماثل من خلال GTID.

أحاول إظهار عبارات التحديث/الإدراج المنفذة مثل هذا:

mysqlbinlog --base64-output=DECODE-ROWS mysql-bin.000024

ولكن كل ما أراه هو شيء من هذا القبيل، لا توجد آثار للتحديث أو إدراج stmt:

SET TIMESTAMP=1431681617/*!*/;
BEGIN
/*!*/;
# at 746987321
# at 746987392
# at 746987484
#150515 11:20:17 server id 1  end_log_pos 746987515 CRC32 0xeb874754    Xid = 997501767
COMMIT/*!*/;
# at 746987515
#150515 11:20:22 server id 1  end_log_pos 746987563 CRC32 0xc5ece64a    GTID [commit=yes]
SET @@SESSION.GTID_NEXT= 'a4ade293-c63a-11e4-94cf-005056944a56:2059057'/*!*/;
# at 746987563
#150515 11:20:22 server id 1  end_log_pos 746987650 CRC32 0x92296355    Query   thread_id=71622 exec_time=0 error_code=0

لست متأكدًا من تنسيق/تكوين النسخ المتماثل لـ GTID ومكان البحث عنه...

هل كانت مفيدة؟

المحلول

يبدو أنه يجب إضافة الخيار - Sverbose:

giveacodicetagpre.

في النتيجة التي تراها:

giveacodicetagpre.

x هي أعمدة الجدول في طلبهم

نصائح أخرى

لا أعتقد أن GTID هي مشكلتك.

من المحتمل أنك تستخدم التسجيل الثنائي القائم على الصف

للتحقق من ذلك، قم بتشغيل أحد الإجراءات التالية:

SELECT @@global.binlog_format;
SHOW GLOBAL VARIABLES LIKE 'binlog_format';
SELECT variable_value FROM information_schema.global_variables
WHERE variable_name='binlog_format';

سوف ترى إما ROW أو MIXED.الطريقة الوحيدة لرؤية SQL، سيكون عليك ضبطها binlog_format ل STATEMENT في my.cnf وأعد تشغيل mysqld لأن وثائق MySQL قيد التشغيل النسخ المتماثل مع معرفات المعاملات العالمية يقول في الفقرة الأولى:

يمكنك استخدام النسخ المتماثل المستند إلى البيان أو المستند إلى الصف مع معرفات GTID (راجع القسم 17.1.2، "تنسيقات النسخ المتماثل")؛ومع ذلك، للحصول على أفضل النتائج، نوصي باستخدام التنسيق المستند إلى الصف.

ومع ذلك، فإنك لن ترى SQL الفعلي مع السجلات الثنائية المحددة.

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

أفضل استخدام

giveacodicetagpre.

بسبب:

  • "إذا لم يتم إعطاء خيار No - Base64-إخراج، فإن التأثير هو نفسه - Base64-EXTRET= AUTO"
  • "مزيج من base64- الإخراج= decode-mows و decodebose يوفر وسيلة ملائمة لرؤية أحداث الصف فقط كبيانات SQL" (سكسر بيانات Binlog)

"حدد Deverbose أو -V مرتين أيضا أيضا عرض أنواع البيانات وبعض البيانات الوصفية لكل عمود."

مصدر الاقتباسات: Man mysqlbinlog

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى dba.stackexchange
scroll top