আমি দ্বৈত মাস্টার মাইএসকিউএল প্রতিলিপি চালাচ্ছি এবং এখন কোনও অনুলিপি ছাড়াই একটি একক ডাটাবেসে যেতে চাই। আমি উভয় ডাটাবেসে সম্পূর্ণরূপে প্রতিলিপিটি অক্ষম করব কীভাবে?
আমি দ্বৈত মাস্টার মাইএসকিউএল প্রতিলিপি চালাচ্ছি এবং এখন কোনও অনুলিপি ছাড়াই একটি একক ডাটাবেসে যেতে চাই। আমি উভয় ডাটাবেসে সম্পূর্ণরূপে প্রতিলিপিটি অক্ষম করব কীভাবে?
উত্তর:
মাস্টার-মাস্টার সেটআপ সহ অনুলিপি সম্পূর্ণরূপে অক্ষম করতে আপনার প্রতিটি দাসের উপর নিম্নলিখিতটি করা উচিত:
STOP SLAVE;
RESET SLAVE;
( RESET SLAVE ALL;
মাইএসকিউএল 5.5.16 এবং তার পরে ব্যবহার করুন )SLAVE STATUS
দেওয়ার পরেও প্রশ্নগুলিতে পুরানো প্রতিরূপ তথ্য রিপোর্ট করবে RESET SLAVE
। পর্যবেক্ষণ বা দূরবর্তী কনফিগারেশন পরিচালনার সরঞ্জামগুলির জন্য জানা গুরুত্বপূর্ণ। CentOS 6.5 এ মাইএসকিউএল 5.5.38 এর সাথে নিশ্চিত হওয়া আচরণ।
আমি জানি এটি একটি পুরানো প্রশ্ন তবে আমি খুঁজে পেলাম আমাকে স্লেভ ভেরিয়েবলগুলিও পুনরায় সেট করতে হবে। যদি আপনি প্রস্তাবিত "ব্লাহ" ব্যবহার করেন তবে সার্ভার 'ব্লাচ' সার্ভারটি শুরু করতে চেষ্টা করবে।
পরিবর্তন
MASTER
করুনMASTER_HOST='',MASTER_USER='',MASTER_PASSWORD='';
আপনি যাচাই করতে পারেন যে মেশিনটি আর দাস নয়
SHOW SLAVE STATUS \G;
CHANGE MASTER TO MASTER_HOST=''
এখন ত্রুটি ছুঁড়েছে।
দাস সার্ভারে (গুলি):
মাস্টার বা স্লেভ উভয়ের উপরই মাইএসকিউএল পুনরায় চালু করার দরকার নেই। সম্পূর্ণ ডকুমেন্টেশন মাইএসকিউএল রেফারেন্স ম্যানুয়াল এর 19 বিভাগে পাওয়া যাবে ।
আপনি যদি আপনার পূর্ববর্তী কনফিগারেশনটিতে ফিরে যাওয়ার সিদ্ধান্ত নেন তবে আমি বাকী প্রতিরূপ সেটিংসকে স্থানে রেখে দেওয়ার পরামর্শ দেব। পুরোপুরি সেটআপ পুরোপুরি পুনরায় তৈরি করার পরিবর্তে আপনাকে কেবল তথ্যটি ধাক্কা দিয়ে স্লেভ অবস্থানটি পুনরায় সেট করতে (স্কিপ-স্লেভ-স্টার্টটি সরিয়ে দিতে ভুলবেন না)।
মাইএসকিউএল সংস্করণ নির্বিশেষে, এটি করার সবচেয়ে সম্পূর্ণ উপায়টি হল নীচে
cd /var/lib/mysql
service mysql stop
rm -f master.info relay-*`
service mysql start
এটি সর্বশেষতম সংস্করণের জন্য কাজ করতে হবে কারণ প্রতিলিপি সেটিংস এখনও মাইএসকিউএল 5.5 এর জন্য র্যামে লম্বা করে।
আমি এই বিষয়ে ঠিক একইরকম প্রশ্নের উত্তর দিয়েছি: একজন মাইএসকিউএল পূর্ববর্তী দাসকে মাস্টার হিসাবে পরিবর্তন করতে এবং দাসের স্থিতির তথ্য কীভাবে সরিয়ে নেওয়া যায়?
একা মাই সিএনএফ ফাইল সম্পাদনা করা অনুলিপি নিষ্ক্রিয় করতে যথেষ্ট নয়। প্রকৃতপক্ষে, এটি এটি সক্ষম করার আর প্রস্তাবিত উপায় নয়। My.cnf ফাইলটিতে এন্ট্রি স্থাপন কেবলমাত্র পরবর্তী সূচনার জন্য কার্যকর এবং আচরণ করা যেমন আপনি মাইএসকিএল ক্লায়েন্টে কমান্ডটি প্রবেশ করেছেন:
mysql> মাস্টারকে মাস্টার_হোস্ট = 'ব্লাহ', মাস্টার_উজার = 'ব্লাহ', মাস্টার_পাসওয়ার্ড = 'ব্লাহ' ... এ পরিবর্তন করুন;
এই দুটি পদ্ধতিই মাস্টার . info নামক ডেটা ডিরেক্টরিতে একটি ফাইল তৈরি করবে । যতক্ষণ না এই ফাইলটি বিদ্যমান থাকবে ততক্ষণ সার্ভারটি সেখানে বিশদ ব্যবহার করে চেষ্টা করবে এবং প্রতিলিপি করবে। "রিসেট স্লেভ;" প্রথম উত্তরের তালিকাভুক্ত কমান্ড মাস্টার. info ফাইল (সেইসাথে রিলে- লগ.ইন.ইন.ইফ.ও ফাইল) থেকে মুক্তি পাবে । প্রথম উত্তরে যেমন উল্লেখ করা হয়েছে, আপনি তাও নিশ্চিত করতে চান যে my.cnf ফাইলে আপনার সেই কনফিগারেশন তথ্য নেই, অন্যথায় সার্ভারের পরবর্তী পুনরায় চালুতে লগিং পুনরায় সক্ষম হবে enabled
একটি উত্তর এখানে:
http://www.oops.net.br/~bac/bam/canopy_repl_setup.htm
* মাইএসকিউএল কনফিগারেশন ফাইলটি সম্পাদনা করুন: /etc/my.cnf এবং [মাইএসকিএলডি] শীর্ষক বিভাগে নিম্নলিখিত 7 টি লাইন সরান:
port=3306
log-bin
server-id=1
master-host=10.0.0.2
master-user=server_1_repl
master-password=server_1_passwd
master-port=3306*
মাইএসকিউএল পুনরায় চালু করুন।
আমি হ্যারিসন ফিস্কের উত্তরে এটি যুক্ত করছি:
আপনি যদি ব্যবহার করেন RESET SLAVE ALL;
তবে পুনরায় চালু করার প্রয়োজন নেই।
অতিরিক্ত হিসাবে, আপনি দাসে অক্ষম করা ইভেন্টগুলি সক্ষম করতে ইচ্ছুক হতে পারেন:
select * from information_schema.events where status = 'SLAVESIDE_DISABLED';
তাদের প্রত্যেকের জন্য:
alter event <event_name> enable;