মাইএসকিউএল মাস্টার / স্লেভের অনুলিপিতে, আমি যদি স্লেভকে লিখি তবে কী হবে?


17

বেশ কয়েকটি প্রশ্ন

  • স্ল্যাভকে প্রভাবিত করতে পারে এমন মাস্টারের টেবিলে সন্নিবেশ / আপডেট / মুছে ফেলা না হওয়া পর্যন্ত স্লেভ এন্ট্রি থাকবে কি?

  • যদি তা না হয় তবে আমি কীভাবে নিশ্চিত করব যে স্ল্যাভ মাস্টার এগিয়ে যাওয়ার সাথে সামঞ্জস্য করছে (স্লেভ এন্ট্রি মোছা বা ম্যানুয়ালি সেই প্রবেশটি ম্যানুয়ালি অনুলিপি করে)?

  • সর্বাধিক গুরুত্বপূর্ণভাবে, আমি কীভাবে সনাক্ত করব যে টেবিলগুলি সিঙ্কের বাইরে রয়েছে?


দয়া করে আপনার প্রশ্নটি সঠিকভাবে ব্যাখ্যা করুন ...
আব্দুল মানাফ

1
মাস্টার / ক্রীতদাসের সম্পর্ক কী মাস্টার থেকে দাসের একমুখী সিঙ্ক নয়, তবে বিপরীত নয়? আমি জিজ্ঞাসা করছি আপনি এই ধরণের সেটআপে দাসকে লিখলে কী হবে।
kfmfe04

উত্তর:


14

যতক্ষণ না আপনি সরাসরি স্ল্যাভের উপর কোনও INSERT / আপডেট / ডিলিট স্টেটমেন্ট না সম্পাদন করেন, আপনার স্লেভ ঠিক ঠিক থাকতে হবে। অন্যথায়, মাইএসকিউএল প্রতিলিপিটি ভেঙে যেতে পারে যদি আপনি স্ল্যাভে মাইডিবি.মাইটিবেলে একটি নতুন সারি প্রবেশ করেন এবং প্রতিলিপি দ্বারা, স্ল্যাভ পরে একই প্রাথমিক কী দ্বারা Mydb.mytable এ সারিটির একটি INSERT সনাক্ত করে। এটি ত্রুটি 1062 (সদৃশ কী) উত্পাদন করে।

মাইএসকিউএল প্রতিলিপিটি না ভেঙে আপনি স্লেভকে লিখতে পারার একমাত্র উপায় হ'ল:

  • মাস্টারের ডিবি 1, ডিবি 2, ডিবি 3 রয়েছে
  • স্লেভ মাস্টার থেকে ডাটাবেসগুলি db1, db2, db3 প্রতিলিপি করছে
  • আপনি CREATE DATABASE db4;দাস দৌড়ে
  • আপনি স্লেভের কেবল db4 এ INSERTs / আপডেট / ডিলিট করেন
  • আপনি স্লেভ-এ কেবল db1, db2, db3- তে সন্নিবেশ / আপডেট / ডিলিট করবেন না

কোনও সরঞ্জাম ডাউনলোড না করে কোনও মাস্টার এবং স্লেভ সিঙ্কের বাইরে চলে গেছে তা সনাক্ত করতে যে কোনও টেবিলটি বেছে নিন এবং মাস্টারের সারণির বিপরীতে এবং একই টেবিলের স্লেভের অনুলিপি চেকসুম টেবিলটি চালান ।

EXAMPLE টি

আপনার যদি কোনও টেবিল থাকে mydb.mytableতবে এর বিরুদ্ধে কমান্ডটি চালান:

mysql> CHECKSUM TABLE mydb.mytable;

মানগুলি যদি একই রকম না ফিরে আসে তবে কিছু সিঙ্ক-এর বাইরে is

আপনি যদি একসাথে টেবিলের একগুণ পরীক্ষা করতে চান তবে আপনি পারকোনার MAATKIT নামিয়ে দিতে পারেন। আপনার দুটি নির্দিষ্ট সরঞ্জামের প্রয়োজন হবে (পারকোনায় পারকোনার টুলকিট রয়েছে যা তারা নিজেরাই ম্যাটকেট থেকে তৈরি করেছিল যা এখন আরও প্রচার করা হচ্ছে)

অথবা

pt-table-checksumমাস্টার এবং স্লেভের সমস্ত সারণীর বিপরীতে একটি চেকসাম টেবিল সম্পাদন করবে। আপনি এটি নির্দিষ্ট ডিফল্টে সমস্ত ডাটাবেসগুলি করতে কনফিগার করতে পারেন।

pt-table-syncযে কোনও টেবিলের বিপরীতে স্লেভে চালানো যেতে পারে। --প্রিন্ট এবং - সিঙ্ক-টু-মাস্টার বিকল্পগুলি ব্যবহার করে, আপনি দেখতে পাচ্ছেন যে এসকিউএল স্টেটমেন্টগুলি স্ল্যাভের সাথে পুরোপুরি মাস্টারটির সাথে মিলিয়ে দেওয়ার জন্য কার্যকর করা দরকার। এই সরঞ্জামটি এমন টেবিলের সাথে কাজ করে না যার মধ্যে প্রাথমিক কী বা অনন্য কী নেই।

আমি কয়েক বছর ধরে MAATKIT ব্যবহার করেছি। আমি এখনো করি. আমি এখনও পারকোনা টুলকিটটি ব্যবহার করে দেখিনি, তবে আমি নিশ্চিত যে এটি MAATKIT এর মতো মানের হওয়া উচিত।


বিস্তারিত উত্তরের জন্য টি। আমি ভেবেছিলাম আমার আরও প্রশ্ন রয়েছে তবে আমি মনে করি আপনার উত্তরগুলি সমস্ত কেস কেটে গেছে (পিটি-টেবিল-সিঙ্কটি সত্যিই দরকারী বলে মনে হচ্ছে)।
kfmfe04
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.