আমি কীভাবে সম্পূর্ণ MySQL প্রতিলিপি অক্ষম করব completely


64

আমি দ্বৈত মাস্টার মাইএসকিউএল প্রতিলিপি চালাচ্ছি এবং এখন কোনও অনুলিপি ছাড়াই একটি একক ডাটাবেসে যেতে চাই। আমি উভয় ডাটাবেসে সম্পূর্ণরূপে প্রতিলিপিটি অক্ষম করব কীভাবে?

উত্তর:


81

মাস্টার-মাস্টার সেটআপ সহ অনুলিপি সম্পূর্ণরূপে অক্ষম করতে আপনার প্রতিটি দাসের উপর নিম্নলিখিতটি করা উচিত:

  1. STOP SLAVE;
  2. RESET SLAVE;( RESET SLAVE ALL;মাইএসকিউএল 5.5.16 এবং তার পরে ব্যবহার করুন )
  3. মাই সিএনএফ সম্পাদনা করুন এবং যে কোনও তথ্য (যদি উপস্থিত থাকে) সরিয়ে ফেলুন যা "মাস্টার -..." বা "প্রতিলিপি -..." বিকল্পগুলি বোঝায়। মাই সিএনএফ-তে আপনার কিছু নাও থাকতে পারে, যেহেতু প্রতিলিপিটিও গতিশীলভাবে সেটআপ করা যেতে পারে।
  4. Mysqld পুনরায় আরম্ভ করুন art

যদি প্রতিলিপিটি গতিশীলভাবে সেটআপ করা হয়, তবে পদক্ষেপ 1 এবং 2 পর্যাপ্ত হওয়া উচিত।
tanyehzheng

4
মাইএসকিউএল পুনরায় চালু না হওয়া অবধি কমান্ড SLAVE STATUSদেওয়ার পরেও প্রশ্নগুলিতে পুরানো প্রতিরূপ তথ্য রিপোর্ট করবে RESET SLAVE। পর্যবেক্ষণ বা দূরবর্তী কনফিগারেশন পরিচালনার সরঞ্জামগুলির জন্য জানা গুরুত্বপূর্ণ। CentOS 6.5 এ মাইএসকিউএল 5.5.38 এর সাথে নিশ্চিত হওয়া আচরণ।
ক্রিস লস্কি

আমি পদক্ষেপগুলি করি তবে কেন সেই নিষ্ক্রিয় দাসটি এখনও এমটিপি কমান্ডের তালিকায় রয়েছে? কীভাবে তালিকা থেকে এটি সরিয়ে ফেলবেন?
স্কট চু

18

আমি জানি এটি একটি পুরানো প্রশ্ন তবে আমি খুঁজে পেলাম আমাকে স্লেভ ভেরিয়েবলগুলিও পুনরায় সেট করতে হবে। যদি আপনি প্রস্তাবিত "ব্লাহ" ব্যবহার করেন তবে সার্ভার 'ব্লাচ' সার্ভারটি শুরু করতে চেষ্টা করবে।

পরিবর্তন MASTERকরুনMASTER_HOST='',MASTER_USER='',MASTER_PASSWORD='';

আপনি যাচাই করতে পারেন যে মেশিনটি আর দাস নয়

SHOW SLAVE STATUS \G;

5
এটি আর কাজ করে না। সেটিং CHANGE MASTER TO MASTER_HOST=''এখন ত্রুটি ছুঁড়েছে।
ধূসর

ত্রুটি 1210 (HY000): MASTER_HOST- এর পক্ষে ভুল যুক্তি
কাজিমিরাস আলিউলিস

সেন্টোস My (মাইএসকিউএল ৫.১) এ আমার জন্য কাজ করে, এই শো স্ল্যাভ স্ট্যাটাস খালি সেট ফেরত দেওয়ার পরে, যখন রিসেট স্ল্যাভের পরে এটি এখনও কিছু মাস্টার তথ্য দেখায়।
মার্টিজন

এই উত্তরটি এখনও মাইএসকিউএল 5.1 ব্যবহারকারীদের জন্য বৈধ (এখনও সেখানে থাকতে পারে)।
RolandoMySQLDBA

12

দাস সার্ভারে (গুলি):

  1. প্রতিলিপি বন্ধ করতে "স্টপ স্লেভ" চালান।
  2. মাস্টার সার্ভার থেকে প্রাপ্ত বাইনারি লগের অবস্থানটি ভুলে যাওয়ার জন্য স্লেভ সার্ভারকে বলার জন্য "রিসেট স্লেভ" চালান।
  3. আপনি যখন MySQL পুনরায় চালু করবেন তখন প্রতিলিপিটি শুরু হতে আটকাতে my.cnf এ "স্কিপ-স্লেভ-স্টার্ট" যুক্ত করুন।

মাস্টার বা স্লেভ উভয়ের উপরই মাইএসকিউএল পুনরায় চালু করার দরকার নেই। সম্পূর্ণ ডকুমেন্টেশন মাইএসকিউএল রেফারেন্স ম্যানুয়াল এর 19 বিভাগে পাওয়া যাবে ।

আপনি যদি আপনার পূর্ববর্তী কনফিগারেশনটিতে ফিরে যাওয়ার সিদ্ধান্ত নেন তবে আমি বাকী প্রতিরূপ সেটিংসকে স্থানে রেখে দেওয়ার পরামর্শ দেব। পুরোপুরি সেটআপ পুরোপুরি পুনরায় তৈরি করার পরিবর্তে আপনাকে কেবল তথ্যটি ধাক্কা দিয়ে স্লেভ অবস্থানটি পুনরায় সেট করতে (স্কিপ-স্লেভ-স্টার্টটি সরিয়ে দিতে ভুলবেন না)।


7

মাইএসকিউএল সংস্করণ নির্বিশেষে, এটি করার সবচেয়ে সম্পূর্ণ উপায়টি হল নীচে

cd /var/lib/mysql
service mysql stop
rm -f master.info relay-*`
service mysql start

এটি সর্বশেষতম সংস্করণের জন্য কাজ করতে হবে কারণ প্রতিলিপি সেটিংস এখনও মাইএসকিউএল 5.5 এর জন্য র‍্যামে লম্বা করে।

আমি এই বিষয়ে ঠিক একইরকম প্রশ্নের উত্তর দিয়েছি: একজন মাইএসকিউএল পূর্ববর্তী দাসকে মাস্টার হিসাবে পরিবর্তন করতে এবং দাসের স্থিতির তথ্য কীভাবে সরিয়ে নেওয়া যায়?


6

একা মাই সিএনএফ ফাইল সম্পাদনা করা অনুলিপি নিষ্ক্রিয় করতে যথেষ্ট নয়। প্রকৃতপক্ষে, এটি এটি সক্ষম করার আর প্রস্তাবিত উপায় নয়। My.cnf ফাইলটিতে এন্ট্রি স্থাপন কেবলমাত্র পরবর্তী সূচনার জন্য কার্যকর এবং আচরণ করা যেমন আপনি মাইএসকিএল ক্লায়েন্টে কমান্ডটি প্রবেশ করেছেন:

mysql> মাস্টারকে মাস্টার_হোস্ট = 'ব্লাহ', মাস্টার_উজার = 'ব্লাহ', মাস্টার_পাসওয়ার্ড = 'ব্লাহ' ... এ পরিবর্তন করুন;

এই দুটি পদ্ধতিই মাস্টার . info নামক ডেটা ডিরেক্টরিতে একটি ফাইল তৈরি করবে । যতক্ষণ না এই ফাইলটি বিদ্যমান থাকবে ততক্ষণ সার্ভারটি সেখানে বিশদ ব্যবহার করে চেষ্টা করবে এবং প্রতিলিপি করবে। "রিসেট স্লেভ;" প্রথম উত্তরের তালিকাভুক্ত কমান্ড মাস্টার. info ফাইল (সেইসাথে রিলে- লগ.ইন.ইন.ইফ.ও ফাইল) থেকে মুক্তি পাবে । প্রথম উত্তরে যেমন উল্লেখ করা হয়েছে, আপনি তাও নিশ্চিত করতে চান যে my.cnf ফাইলে আপনার সেই কনফিগারেশন তথ্য নেই, অন্যথায় সার্ভারের পরবর্তী পুনরায় চালুতে লগিং পুনরায় সক্ষম হবে enabled


5

একটি উত্তর এখানে:

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*

মাইএসকিউএল পুনরায় চালু করুন।


4

আমি হ্যারিসন ফিস্কের উত্তরে এটি যুক্ত করছি:

আপনি যদি ব্যবহার করেন RESET SLAVE ALL;তবে পুনরায় চালু করার প্রয়োজন নেই।

অতিরিক্ত হিসাবে, আপনি দাসে অক্ষম করা ইভেন্টগুলি সক্ষম করতে ইচ্ছুক হতে পারেন:

select * from information_schema.events where status = 'SLAVESIDE_DISABLED';

তাদের প্রত্যেকের জন্য:

alter event <event_name> enable;
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.