سؤال

لتنظيف السقوط قليلاً ، أقوم بنقل 25 جدولًا بين قواعد بيانات MySQL (قطع مختلفة من الأجهزة). هذه ليست قاعدة البيانات بأكملها ، فقط 25 جدول فقط من بين بضع مئات ... هذه الجداول لا تنتمي إلى هناك حقًا ، ولن أخوض في السبب لأسباب NDA.

الآن ، سيؤدي هذا إلى كسر الكثير من التعليمات البرمجية واستعلامات SQL.

ما هي أفضل طريقة للقيام بذلك؟

  1. انقلهم في وقت واحد.

  2. حركهم أكثر من 1 من 1

--

إن تحريكهم على الإطلاق في وقت واحد ، هو نوع من اللطيف. قد يكون بعض الانقطاعات والرمز المكسور الذي فاتني ، لكن نقلها ككتلة أسرع بكثير ، وأقل وقتًا يقضيه في الضغط على الشفرة.

إن نقلهم أكثر من واحد تلو الآخر هو نوع من الفرص اللطيفة ، والأقل من فرصة لكسر الأشياء الكبيرة ، ولكن سيتم قضاء المزيد من الوقت في تنشيط العمل ، والعمل الزائد ، والنشر.

هل من الممكن بالنسبة لي أن أعكس الجداول بين قاعدتي بيانات لفترة من الوقت؟ طاولة الاتحادية ربما؟

--

معلومات MISC: هناك 25 جداول مرتبطة جميعها بالمحتوى لبعضها البعض.

لا يمكنني إغلاق قواعد البيانات لساعات في كل مرة ، سيكون حوالي 5 دقائق من التوقف مقبولة.

--

ما هي أفضل طريقة لتحريك كل هذه البيانات والحفاظ على الكود ، SQL ، وأنا في حالة رائعة؟

هل يمكنني اتباع الجداول كوسيلة لتكرار الجداول إلى قاعدة بيانات جديدة؟

-دانيل

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

المحلول

يبدو أن تحريكهم على واحد في وقت واحد سيكون الطريق للذهاب. وبهذه الطريقة لديك مجموعة من المشاكل الصغيرة السهلة بدلاً من مشكلة صعبة كبيرة. آمل أن يكون لديك نظامك تحت الكثير من الاختبارات الآلية للتأكد من أن كل هذا الخلط لا يكسر أي شيء.

شيء آخر: تتحدث عن إغلاق قاعدة البيانات. إذا كنت تقوم بإجراء التغييرات في بيئة التطوير وتجعل التغييرات على قيد الحياة فقط عندما تكون متأكدًا من أن كل شيء يعمل ، فلماذا تحتاج إلى الحصول على أي وقت توقف في الإنتاج؟ آمل ألا تفكر في إجراء هذه التغييرات في الإنتاج دون القيام بذلك في التطوير أولاً.

نصائح أخرى

يمكنك استخدام sqlyog (MySQL الأمامي الواجهة) للقيام بذلك.

خيار Meny هو PowerTools -> معالج مزامنة قاعدة البيانات

يجب أن تكون قادرًا على فتح كلا قاعدة البيانات عن بُعد (يجب أن يكون المضيف ٪)

كنت هناك ، فعلت ذلك ، وفي الواقع في منتصف مشروع مماثل في الوقت الحالي. من خلال مشاريعنا ، ورثنا عددًا قليلاً من أننا لا نعرف ما هي أو مكان كل شيء ، ولكن هنا هو التدفق العام:

  • على الخادم الجديد ، قم بإعداد أي حسابات مناسبة
  • ابحث عن مكان تغيير الخادم واسم المستخدم/كلمات المرور إذا لزم الأمر في تكوين التطبيق
  • أغلق تطبيق الويب حتى لا توجد أي كتابة أثناء التحرك
  • حرك DB
  • إعادة تكوين التطبيق
  • أطلق النار عليها
  • كرر لكل ديسيبل/تطبيق

للأشياء الصغيرة ، هذا يستغرق بضع ثوانٍ فقط. sqlyog هي مساعدة رائعة هنا. إذا كان لديك قواعد بيانات كبيرة أو تقرر أنك لا تريد أي وقت توقف ، فأنت بحاجة إلى النظر في النسخ المتماثل.

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