সহায়তা # 1: অনুলিপি
আমি এটা মনে করি না
replicate-wild-do-table = db_backup.%
replicate-rewrite-db = db->db_backup
আকত্রে থাকা.
অন্যান্য ব্যক্তিরাও এটি সম্পর্কে বিস্মিত হয়েছে
অর্ডার প্রতিলিপি সংক্রান্ত বিধিগুলি থেকে প্রক্রিয়াজাত হয়। প্রতিলিপি বিধিতে মাইএসকিউএল ডকুমেন্টেশন অনুসারে :
যদি কোনও --replicate-rewrit-db অপশন নির্দিষ্ট করা থাকে তবে সেগুলি --replicate- * ফিল্টারিং বিধি পরীক্ষা করার আগে প্রয়োগ করা হয়।
এমনকি প্রতিলিপি-পুনর্লিখন-ডিবিতে মাইএসকিউএল ডকুমেন্টেশন বলে:
--Replicate- * বিধি পরীক্ষা করার আগে ডাটাবেস নাম অনুবাদ করা হয়।
replicate-wild-do-table
লেখা পরে জারি করা হয়েছে। যদি এই অর্ডারটি কোনওভাবে কোনও টেবিলটিতে ইতিমধ্যে ডেটা রয়েছে এমন কোনও INSERT চাপিয়ে দেয় তবে অবাক হওয়ার কিছু নেই।
আপনি সম্ভবত জিজ্ঞাসা করছেন সেখানে কীভাবে ডেটা পেল?
ASPECT # 2: mysqldump
করাকে mysqldump --single-transaction
ডেটা-ইন-টাইম ডাম্পের পয়েন্ট-ইন করার সর্বোত্তম উপায় বলে মনে হয়। দুর্ভাগ্যবশত, mysqldump --single-transaction
একটি অ্যাকিলিসের গোড়ালি রয়েছে: ALTER TABLE
। যদি কোনও টেবিল কোনও ALTER TABLE
কমান্ডের সাপেক্ষে , যেমন একটি DROP TABLE
এবং CREATE TABLE
এটি যে মাইএসকিলডাম্প লেনদেনের চেষ্টা করছিল তার লেনদেনের অখণ্ডতাটিকে ভেঙে ফেলতে পারে a এছাড়াও বিঘ্নিত হতে।
আপনি মাইএসকিউএল পারফরম্যান্স ব্লগের সেরা রক্ষিত মাইএসকিউএলডাম্প সিক্রেট থেকে আরও তথ্য পেতে পারেন । আমি আসলে একটি পূর্ববর্তী প্রশ্নে 12 টি কমান্ডের বিবরণ দিয়ে সম্বোধন করেছি যা কোনও মাইএসকিল্ডাম্পের লেনদেনের অখণ্ডতা ভঙ্গ করতে পারে: মাইএসকিউএল ব্যাকআপ ইনোডিবি
বিচারকার্য স্থগিত রাখার আদেশ
উপসংহার
এক বা উভয় দিকই মাইএসকিএলডাম চলাকালীন একটি সারি স্লিপ করতে দিতে অবদান রাখতে পারে যা পুনর্লিখনের নিয়ম বা মাইএসকিএলডামের বিচ্ছিন্নতার কারণে অস্তিত্বের কারণেই বিদ্যমান ছিল না।
পরামর্শ
স্লেভ প্রক্রিয়াজাত করে যে সমস্ত INSERT গুলি স্লেভ প্রক্রিয়াভুক্ত করবে এবং স্ল্যাভের মধ্যে ইতিমধ্যে সারি বিদ্যমান কিনা তা দেখতে আমি মাইএসকিএলডাম শুরু হওয়ার পর থেকে সমস্ত রিলে লগগুলির একটি মাইএসকিএলব্লিনগ ডাম্প করব। যদি তারা তা করে, আপনি সম্ভবত দুটি জিনিস করতে পারেন:
1: সমস্ত সদৃশ কী ত্রুটিগুলি এড়িয়ে যান
স্লেভটিতে এটি my.cnf এ কেবল যুক্ত করুন
[mysqld]
slave-skip-errors=1062
skip-slave-start
এবং mysql পুনরায় আরম্ভ করুন। তারপর, চালানSTART SLAVE;
সমস্ত সদৃশ-কী ত্রুটিগুলি বাইপাস হয়ে যাবে। Seconds_Behind_Master
0 এ গেলে , এই রেখাগুলি সরান এবং মাইএসকিএল পুনরায় চালু করুন।
2: পারকোনা সরঞ্জামগুলি ডাউনলোড করুন
আপনার প্রয়োজনীয় সরঞ্জামগুলি হ'ল
স্লেভের পার্থক্যগুলি খুঁজতে এটি ব্যবহার করুন এবং তারপরে তাদের সংশোধন করুন