"لا توجد قاعدة بيانات محددة" أو "جدول" DB.Table "غير موجود" فشل في تشغيل PT-Upgrade حيث تم جمع استفسارات من DBS متعددة مع TCPDump

dba.stackexchange https://dba.stackexchange.com/questions/103198

  •  26-09-2020
  •  | 
  •  

سؤال

قمت بجمع استفسارات على سيدنا باستخدام الأمر TCPDump التالي:

giveacodicetagpre.

يتم تنفيذ الاستعلامات بين العديد من قواعد البيانات.

ثم ركض هذا الملف من خلال DIGST PT-QUERY باستخدام الأمر التالي:

giveacodicetagpre.

ثم ركضت PT - ترقية ضد عبيدين مثل هذا:

giveacodicetagpre.

لكنني حصلت على مجموعة من الفشل لأنه لا يبدو لتحديد قاعدة البيانات التي يجب تنفيذ الاستعلام ضدها.

كيف يفترض أن يستخدم المرء الترقية PT عند جمع الاستفسارات بين DBS متعددة؟ AFAICT هذا غير محدد في الوثائق في أي مكان.

هل من المفترض أن تستخدمها --Filter مع PT-Digest Digest فقط لاستعلامات الإخراج لقاعدة بيانات معينة، ثم حدد - DataBase مع ترقية PT؟ شطف وتكرار لكل قاعدة بيانات.

يستغرق عدة ساعات لتحليل التقاط My Gigant Tcpdump لذا فإن أي إرشادات هنا موضع تقدير.

شكرا!

p.s.

استخدمت هذا المادة كنقطة انطلاق ولكنها قديمة. على سبيل المثال PT-Query-Digest لا يحتوي على خيار - جزء الآن.

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

المحلول

  • هل لا يزال يفشل في العمل إذا حذفت - عينة؟

  • (من يدوي)

لاحظ أيضا أن هضم PT-Query قد تفشل في الإبلاغ عن قاعدة البيانات ل استفسارات عند تحليل إخراج Tcpdump.اكتشاف قاعدة البيانات فقط في أحداث الاتصال الأولي لعميل جديد أو متى أعدم.إذا كان إخراج Tcpdump يحتوي على أي من هذه، ثم لا يمكن ل PT-Rely-Digest اكتشاف قاعدة البيانات.

  • النظر في استخدام السجل العام بدلا من tcpdump؟

نصائح أخرى

لدي مشكلة مماثلة. لدي مفقود الجداول وفقدان بيانات الاستخدام كذلك. في بعض الأحيان يكون بيان الاستخدام موجودا ولكن مع قاعدة البيانات الخاطئة. يمكنني استخدام حلول بسيط للغاية.

(مقدمة) مشكلتي الأولى: بلدي البطيء .log هو 60go طويل جدا

  1. قمت بتقسيمها مع تقسيم مع خيار - عرض إلى 20 ملايين (الذي يعطيني 1GO لكل ملف تقريبا) تأكد من عدم وجود بيانات موجودة بين الملفات تحريرها مع

    head-numberflines ab >> AA على سبيل المثال

  2. ابحث عن العبارة التي هي أصل مشكلتك (مفتوحة مع أقل فأنت لا تريد أن يكون لديك 1GO في ذاكرة الوصول العشوائي مع السادس)

  3. sed ذلك مع

    sed -e '/nameofscriptinyourfilewhichisinthefirlstline.php/-+nd'

  4. مع N عدد الأسطر التي تحتاج إلى تحريرها. (من وجهة نظري، يحتاج المطور إلى وضع معلومات أطروحات لأغراض تصحيح الأخطاء وهو جزء من إطار عملنا التاريخي على أي حال).

    1. قم بتوصيل المشكلة إلى المطور وتشغيل البطاطا المحررة مرة أخرى.

    2. كرر الخطوات من 2 إلى 4 حتى لا تجد المزيد من أخطاء الأطروحات. يمكنك تشغيل قائمة SED من خلال هذا النوع من الأمر

      sed -e '...' | sed -e '...' | SED - '...'> صحيح_AA

    3. إصدار Fianl: لقد وجدت أن الاستعلامات مع مثل "٪" هي ألم أيضا لأن المحلل لا يمكن أن يفهمها. (لا تزال تبحث عن حل).

      إذا كان هذا يمكن أن يساعد أنا سعيد. إنه ليس نظيفا، فمن الأمد، لكنه يسمح لي بالعثور على جميع الاستعلامات التي لا تتناسب مع إطارنا على الرغم من أنها أتصل بها إلى Prod بطريقة أو بأخرى. وبما أننا نتأخر جدا في إصدارات MySQL الخاصة بنا، فمن دواعي سروري أن أحصل عليها للعمل بالنسبة لي في نهاية المطاف. ؛)

      p.s. : هذا هو أول وظيفة.

ما انتهى بنا الأمر به هو التخلص من الاستعلامات من Slow.log بناء على اسم الجدول إلى ملفات سجل (RAW) الخاصة بقاعدة البيانات.ثم حددنا - Type Rawlog و - Batabase مع ترقية PT.

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