আমি মাস্টার-মাস্টার প্রতিলিপির ভিত্তিতে মাইএসকিএলের জন্য এইচএ সমাধান বাস্তবায়ন করেছি। সামনের অংশের অংশে একটি প্রক্রিয়া রয়েছে যা গ্যারান্টি দেয় যে একটি নির্দিষ্ট সময়ে কেবলমাত্র একটি ডিবি পড়তে / লিখতে হবে (যেমন আমরা কেবল এইচএর প্রতিলিপি ব্যবহার করি)।
প্রত্যাশাটি প্রত্যাশার মতো কাজ করেছে তা আমি নিশ্চিত করেছি, তবে আমি ব্যর্থতার দৃশ্য এবং পুনরুদ্ধারের বিষয়ে ভাবছি। বিশেষত, যখন কোনও মাস্টার অপরিবর্তনযোগ্য অবস্থায় ব্যর্থ হয় এবং অন্য মাস্টারের কাছ থেকে পুনরায় তৈরি করা দরকার তখন কী হয় তা নিয়ে আমি চিন্তিত:
- যেহেতু অন্য মাস্টারটি সরাসরি এবং সম্ভবত ব্যবহৃত হয়, তাই আমি এটিকে লক করতে এবং ডাম্পগুলি তৈরি করতে পারি না
mysqldump
(আমাদের ডাটাবেসগুলি মাঝারি আকারে বড় এবংmysqldump
ব্যবহারের কয়েক মাস পরে খুব সহজেই কয়েক ঘন্টা সময় নিতে পারে)। - এমনকি ধরে নিচ্ছি যে আমার কাছে ডাম্প রয়েছে, এটি অত্যন্ত গুরুত্বপূর্ণ যে শো মাস্টার স্ট্যাটাসের দ্বারা প্রদর্শিত বাইনলোগ অবস্থানটি ডেটাবেস লক হওয়ার পরে ডাম্পের সাথে মিলে যায়।
প্রথম সমস্যার সহজ সমাধান হ'ল ব্যাকআপ হিসাবে অভিনয় করা তৃতীয় ডাটাবেস ব্যবহার করা, যা থেকে আমি এটি করতে পারি mysqldump
। তবে কীভাবে আমি নিশ্চিত করব যে পুনরায় তৈরি করা মাস্টার চলমান মাস্টার থেকে ধারাবাহিক উপায়ে প্রতিলিপি শুরু করতে পারেন?