سؤال

أنا مضطر إلى استعادة قاعدة بيانات MySQL من ملفات .myd و .frm. و II ليس لدي أي فكرة من أين أبدأ ، حاولت فقط نسخها مع الحفاظ على سمات الملف ولكن دون جدوى ما هي الخطوات الأخرى التي أحتاج إلى اتخاذها؟

لدي شعور بأن الأمر يتعلق بملفات IB_LOGFILE0 و IB_LOGFILE1 و IB_DATA. لكن لا أعرف ماذا تفعل.

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

المحلول

يجب ألا تقوم بنسخ احتياطية من خلال التعامل مع ملفات MySQL RAW. من السهل بشكل تافه أن ينتهي الأمر بقاعدة بيانات تالفة بهذه الطريقة. ضع في اعتبارك ما يحدث عند بدء نسخ الملفات إلى وسيط النسخ الاحتياطي الخاص بك - ستستغرق النسخة وقتًا غير صفري ، حيث يمكن أن تكتب قاعدة البيانات خلالها بيانات جديدة في أماكن مختلفة ، بما في ذلك الأجزاء التي نسختها بالفعل. أنت الآن تقوم بنسخ ملف معدّل ومزيج من البيانات القديمة والبيانات الجديدة. هذه النسخة المعدلة مضمونة تقريبا لتتالف.

يجب أن تستخدم mysqldump أو mysqlhotcopy بدلاً من ذلك ، مما يضمن نسخة احتياطية ثابتة.

ومع ذلك ، على فرصة أن تكون قاعدة البيانات الخاصة بك هادئة نسبيًا وتمكنت من الحصول على نسخة احتياطية نظيفة جيدة ، فإن الملفات التي تحتاجها لاستعادتها تعتمد على نوع الجداول التي تستعيدها. تقوم InnoDB بتخزين جميع بياناتها في ib* الملفات ، بغض النظر عن اسم قاعدة البيانات/الجدول. يستخدم Myisam ملفات في الدلائل المسمى وفقًا لأسماء قاعدة البيانات/الجدول.

بعد نسخ نسخ النسخ الاحتياطي إلى المواقع الصحيحة ، سيتعين عليك إعادة تشغيل MySQL ، حيث ستظل تصل إلى النسخ الأصلية من الملفات.

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