অন্য ক্রীতদাস থেকে একটি মাইএসকিউএল স্লেভ তৈরি করুন, তবে এটি মাস্টারের দিকে নির্দেশ করুন


8

সমস্যা

আমার 2 টি সার্ভার, মাস্টার ( ) এবং স্লেভ ( বি ) এর মধ্যে মাইএসকিউএল প্রতিলিপি সেটআপ রয়েছে । আমাকে মিশ্রণ ( সি ) এ একটি নতুন দাস যুক্ত করতে হবে । আমি এই দাসটি তার মাস্টার থেকে সরাসরি আপডেটগুলি পেতে চাই, আমি দাসের কাছ থেকে চেইন প্রতিলিপি চাই না। তবে, মাস্টারটি "হট", আমি মাস্টারের পুরো ব্যাকআপ তৈরি করতে সাধারণত এক্সট্র্যাকব্যাকআপ ব্যবহার করি তবে এটি 10 ​​মিনিটের জন্য লক হয়ে যাবে, কারণ ডাটাবেসটি প্রায় 20 জিবি আকারের হয়।

সম্ভাব্য সমাধান

ক্রীতদাস পড়ুন Lock দিয়ে ফ্লাশ টেবিল বি , ব্যবহারের show slave স্থিতি বি , লেখ binlog এবং অবস্থান নিচে। তারপর Xtrabackup সঙ্গে ব্যাকআপ ডাটাবেস, ব্যাকআপ অর্ণবপোত সি এবং এটি ব্যবহার করার জন্য ক্রীতদাস, এবং বিন্দু সেট রেপ্লিকেশন তৈরি করতে একটি binlog অবস্থান আমি শুধু লিখে সঙ্গে।

প্রশ্ন

এমন কোনও আরও ভাল উপায় আছে যেটার জন্য আমাকে এতদিন বি লক করার দরকার নেই ? বা এমন কিছু যা আরও সহজে স্বয়ংক্রিয়ভাবে তৈরি হয়?

উত্তর:


20

আরে আমি মাস্টার (সার্ভারএ) বা স্লেভ (সার্ভারবি) এর কোনও ক্রিয়াকলাপ না বাড়িয়ে ক্রীতদাস তৈরির একটি পাগল পদ্ধতি জানি

পদক্ষেপ 1) একটি নতুন সার্ভার (সার্ভারসি) সেটআপ করুন

পদক্ষেপ 2) সার্ভারে, মাইএসকিউএল ইনস্টল করুন (সার্ভারবি হিসাবে একই সংস্করণ)

পদক্ষেপ 3) সার্ভারে, পরিষেবা মাইএসকিএল স্টপ

পদক্ষেপ 4) সার্ভারবি থেকে সার্ভারে /etc/my.cnf অনুলিপি করুন

পদক্ষেপ 5) সার্ভারসিতে, সার্ভার_আইডি সার্ভারএ এবং সার্ভারবি থেকে পৃথক মানতে পরিবর্তন করুন

পদক্ষেপ)) সার্ভার থেকে টু সার্ভারে আরএসসি / ভেরি / লিব / মাইএসকিএল

পদক্ষেপ)) আরএসসিএনসি শেষ হয়ে গেলে, "স্টপ স্লেভ" চালান; সার্ভারবি

পদক্ষেপ 8) সার্ভার থেকে টু সার্ভারে আরএসইএনসি / ভেরি / লিব / মাইএসকিএল

পদক্ষেপ 9) সার্ভারবিতে, "স্লাইভ শুরু করুন" চালান;

পদক্ষেপ 10) সার্ভারসিতে, সার্ভিস মাইএসকিএল শুরু হবে

পদক্ষেপ 11) সার্ভারে, "স্লাইভ শুরু করুন" চালান; (যদি স্কিপ-স্লেভ-স্টার্টটি /etc/my.cnf এ থাকে তবে এটি করুন)

একবার চেষ্টা করে দেখো !!!

বিটিডব্লিউ আমার কাছে এটির সর্বোচ্চ আত্মবিশ্বাস আছে কারণ আমি গত 2 দিন ধরে ক্লায়েন্টের জন্য এটি করেছি। ক্লায়েন্টের কাছে একটি স্লেভের উপর 2.7TB ডেটা ছিল। ক্রীতদাসটি সক্রিয় থাকাকালীন আমি অন্য সার্ভারে আরএসসিএনডি করেছি। rsync 11 ঘন্টা সময় নিয়েছে। আমি তখন স্টপ স্লেভ চালিয়েছি; প্রথম ক্রীতদাসে এবং আরএসসিএনসি চালিয়েছে। আরও এক ঘন্টা সময় লাগল। আমি তারপরে উপরের পদক্ষেপটি সম্পাদন করেছি এবং সমস্ত কিছু সম্পন্ন হয়েছে।


হাঃ হাঃ হাঃ. আমি আপনার পরামর্শটি ব্যবহার করতে ওপিতে মন্তব্য করতে যাচ্ছিলাম, এবং কম এবং এর মিঃ রোল্যান্ডোকে "ফ্রিজ" ডিবিএ দেখুন। রোল্যান্ডো মাথার পেরেকটি আঘাত করলেন এবং কোনও মাস্টারকে থামিয়ে না রেখে এবং আপনার বি ক্রীতদাসকে খুব দীর্ঘ সময়ের জন্য বন্ধ না করেই এটি পছন্দনীয় পদ্ধতি।
কোডারভিজ

2
আমি জানি এটি মোটামুটি পুরানো পোস্ট তবে কেউ আমাকে এই পদ্ধতি সম্পর্কে জিজ্ঞাসা করেছেন। নতুন দাস এবং পুরানো দাসকে প্রায় একই বলে ধরে নিলে এটি কার্যকরভাবে কাজ করে। নতুন দাসটি যদি একটি আলাদা খিলান হয় তবে এটি কাজ করবে না (iirc)। এবং আমি প্রায় নিশ্চিত যে আপনি প্রতি ফাইল ইনোডাব টেবিল স্পেসগুলি ব্যবহার করলে এটি কাজ করবে না। সবচেয়ে নিরাপদ সমাধান হ'ল কোনও সন্দেহ থাকলে মাস্টারের কাছ থেকে সম্পূর্ণ ব্যাকআপ করা।
লুসিস

@ লিসিস - আপনার মন্তব্যটি খুব সত্য। একটি নিখুঁত বিশ্বে, যা বেশিরভাগ মাইএসকিএল ক্লায়েন্টরা তাদের কাছে রয়েছে তা কল্পনা করে, তারা সমস্ত হার্ডওয়ার স্পেস একরকম হওয়ার কারণে তারা এটি করতে চায়। সেটআপগুলিতে যেখানে হার্ডওয়্যার পৃথক হয়, মাইএসকিল্ডাম্পস এবং পুনরায় লোড সবচেয়ে নিরাপদ। উত্তর হিসাবে আপনার মন্তব্য জমা দেওয়া উচিত। আমি এটি upvote হবে। আসুন দেখি অন্যরা কি করবে !!!
রোল্যান্ডোমাইএসকিউএলডিবিএ

আমি পদ্ধতি অনুসরণ করেছিলাম। স্লেভ সিটিতে ফিরে মাইএসকিএল শুরু করার পরে আমি বলেছিলাম একটি ত্রুটি পেয়েছে "আপনার ডাটাবেসটি দুর্নীতিগ্রস্থ হতে পারে বা আপনি ইনোডিবি টেবিল স্পেসটি অনুলিপি করেছেন তবে ইনোডিবি লগ ফাইলগুলি নয়"। এবং start slave(স্ল্যাভসি) আমি পেয়েছি "রিলে লগ খুলতে ব্যর্থ '/var/log/mysql/mysql-relay-bin.001603"
হুসেন তম্বলি

এইভাবে আপনি সার্ভারে ডেটা সহজেই হারাতে পারেন।
akuzminsky

3

যখন আমরা আমাদের মিশ্রণে কোনও দাস যুক্ত করি, তখন আমরা নিম্নলিখিতটি করি:

  • এক দাস অফলাইনে নিন
  • নতুন গোলামে ডাটাবেস ডেটা ডিরেক্টরি কপি করুন (স্লেভ সেটিং -বিনলগ অবস্থান, মাস্টার হোস্ট ইত্যাদি - যেহেতু আমরা কোন দাস থেকে অনুলিপি করেছি তাই সঠিক হবে)
  • আসল দাসটিকে শুরু করুন
  • নতুন স্লেভের জন্য my.cnf এ সার্ভার-আইডি পরিবর্তন করুন
  • নতুন দাস শুরু করুন

আমাকে কেবল আজ বিকেলে এটি করতে হয়েছিল
sreimer

1

@ রোল্যান্ডোমাইএসকিউএলডিবিএর পরামর্শ অনুসারে আমি তা করেছি তবে একটি '' এবং একটি ' steps টি পদক্ষেপ যুক্ত করেছে (এটি @ হুসেইন তাম্বোলির মন্তব্যগুলিকে সমাধান করে )):

পদক্ষেপ 1) একটি নতুন সার্ভার (সার্ভারসি) সেটআপ করুন

পদক্ষেপ 2) সার্ভারে, মাইএসকিউএল ইনস্টল করুন (সার্ভারবি হিসাবে একই সংস্করণ)

পদক্ষেপ 3) সার্ভারে, পরিষেবা মাইএসকিএল স্টপ

পদক্ষেপ 4) সার্ভারবি থেকে সার্ভারে /etc/my.cnf অনুলিপি করুন

পদক্ষেপ 5) সার্ভারসিতে, সার্ভার_আইডি সার্ভারএ এবং সার্ভারবি থেকে পৃথক মানতে পরিবর্তন করুন

পদক্ষেপ)) সার্ভার থেকে টু সার্ভারে আরএসসি / ভেরি / লিব / মাইএসকিএল

পদক্ষেপ '') সার্ভার থেকে টু সার্ভারে আরএসসি / ভেরি / লগ / মাইএসকিএল

পদক্ষেপ)) আরএসসিএনসি শেষ হয়ে গেলে, "স্টপ স্লেভ" চালান; সার্ভারবি

পদক্ষেপ 8) সার্ভার থেকে টু সার্ভারে আরএসইএনসি / ভেরি / লিব / মাইএসকিএল

পদক্ষেপ 8 ') সার্ভার থেকে টু সার্ভারে আরএসসি / ভেরি / লগ / মাইএসকিএল

পদক্ষেপ 9) সার্ভারবিতে, "স্লাইভ শুরু করুন" চালান;

পদক্ষেপ 10) সার্ভারসিতে, সার্ভিস মাইএসকিএল শুরু হবে

পদক্ষেপ 11) সার্ভারে, "স্লাইভ শুরু করুন" চালান; (যদি স্কিপ-স্লেভ-স্টার্টটি /etc/my.cnf এ থাকে তবে এটি করুন)


আপনার উত্তর সম্পূর্ণ নয়, এবং এটি অন্যান্য বিষয়ের উল্লেখ করে। এটি কোনও ফোরাম নয়, নিজের উত্তরটি নিজেই সম্পূর্ণ হওয়ার জন্য উন্নত করুন।
এসডমিন

0

আপনার কাছে "মাস্টার থেকে লোড ডেটা" বিকল্প রয়েছে তবে এটি অত্যন্ত নিরুৎসাহিত।

আপনি কি আপনার সিস্টেমে রাত্রে / সাপ্তাহিক ব্যাকআপ নেন? যদি তা হয় তবে আপনার ব্যাকআপের সাথে অবস্থানটিও নোট করুন তবে আপনি নতুন ব্যাস স্থাপনের জন্য সেই ব্যাকআপটি ব্যবহার করতে পারেন। শুধু এটি ছেড়ে দিন এবং এটি কিছু সময়ের জন্য ডেট আপ করার অনুমতি দিন।


0

আমি রোল্যান্ডো উত্তরগুলি চেষ্টা করেছিলাম এবং সূক্ষ্মভাবে কাজ করেছি, তবে এটি শুরু থেকে পুনরায় খেলতে শুরু করা হয়েছিল এবং এড়িয়ে যেতে আমাকে আরও ত্রুটি কোড যুক্ত করতে হয়েছিল (আমি এটির প্রস্তাবিত না জানি, তবে আমি জানি আমি কী করছি)।

একবার 7 ধাপটি সম্পন্ন করার পরে, আমি মাইএসকিএল লগটি পরীক্ষা করে বিন লগের নাম এবং অবস্থানটি উল্লেখ করেছি এবং নবম ধাপ পর্যন্ত অব্যাহত রেখেছি। দশম ধাপের আগে, আমি সবেমাত্র change masterলগ ফাইল এবং লগ অবস্থানের জন্য সম্পাদন করেছি । এবং 11 ধাপ থেকে অবিরত। সমস্ত আমার কাছে ভাল লাগছে।


-2

অটো.সিএনএফ-তে আপনার স্লেভ ইউইড পরিবর্তন করতে হবে যাতে কর্তা দুটি দাসকে আলাদা করতে পারে।

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