মাইসিক্ল-এ মাস্টার-স্লেইভ রেপ্লিকেশন (পাতা ১) - টিউটোরিয়াল, টিপস এন্ড ট্রিকস - তথ্য ও যোগাযোগ প্রযুক্তি - প্রজন্ম ফোরাম
আজ ৪ চৈত্র ১৪১৬ বাংলা

আপনি প্রবেশ করেন নি। দয়া করে নিবন্ধন অথবা প্রবেশ করুন


পাতা 1

উত্তর দেয়ার জন্য আপনাকে অবশ্যই প্রবেশ বা নিবন্ধন করতে হবে

আরএসএস

পোস্টঃ [ ৫ ]

টপিকঃ মাইসিক্ল-এ মাস্টার-স্লেইভ রেপ্লিকেশন

মাইসিক্ল-এ মাস্টার-স্লেইভ রেপ্লিকেশন নিয়ে নাড়াচাড়া করছি ইদানীং। যেটুকু শিখেছি, তাই আপাততঃ শেয়ার করছি সবার সাথে।

মাস্টার স্লেইভ রেপ্লিকেশন করার বেশ কিছু সুবিধা আছে, যেমনঃ
মূল ডেটাবেইজ সার্ভার থেকে অনেক কুয়েরী অফ্লোড করে সার্ভারের লোড অনেকটা কমানো যাবে। মাস্টার সার্ভারটি write প্রিডমিনেন্ট কুয়েরী INSERT, UPDATE প্রসেস করুক, এই ফাঁকে আপনি স্লেইভ সার্ভার থেকে রিড-অনলী কুয়েরী (SELECT) করে ফেলতে পারবেন। ল্যাগ টাইম অনেক কমে যাবে (অবশ্য কোড কম্পলেক্সিটিও একটু বেড়ে যাবে)।
আপকামিং পিএইচপি ৫,৩-এ নতুন মাইসিক্ল নেটিভ ড্রাইভার (MySQL-nd) থাকছে, ওটা দিয়ে এক সাথে অনেকগুলো প্যারালাল অ্যাসিঙ্ক কুয়েরী করা যায়। হেভীলী লোডেড সার্ভারে এই ফীচার প্রচুর উপকারে আসবে বলে মনে হচ্ছে।
এছাড়া স্লেইভ সার্ভার থেকে সহজেই mysqldump করে ব্যাকআপ নিতে পারবেন, আপনার মাস্টার সার্ভার তো ফ্রী থেকে যাচ্ছে, ইউজাররা টেরই পাবেনা। যা ল্যাগ হবার তা স্লেইভ সার্ভারেই হবে। কিন্তু সরাসরি মাস্টার সার্ভারে ব্যাকআপ চালাতে গেলে (বিশেষ করে যদি বড় সড় মাল্টিগিগাবাইট ডেটাবেইজ হয়) সাইট কিছুক্ষণের জন্য হলেও লক আপ হয়ে যাবে। অতএব মাস্টার সার্ভারের লোড এ্যাভারেজ কম রাখতে চাইলে ব্যাকআপের স্টীমরোলার স্লেইভের উপর দিয়েই চালানো বুদ্ধিমানের কাজ। ট্রিইইং! dancing

যাক এবার মূল কাজের কথায় আসি। ধরি আমার কনফিগারেশন এইরকমঃ

মাস্টার সার্ভার আইপিঃ 1.0.0.1
স্লেইভ সার্ভার আইপিঃ 1.0.0.2
স্লেইভ ইউজারঃ slaveuser
স্লেইভ পাসোয়ার্ডঃ slavepass
ডেটা ডাইরেক্টরীঃ /usr/local/mysql/var/

আমি ভিএমঅয়্যারে দুইটা ভার্চুয়াল মেশিন ফেডারেশন করে এই সেটআপটা করেছিলাম, তবে আশা করি কোন পরিবর্তন ছাড়াই ফিজিকাল সার্ভারে ইম্পলিমেন্ট করা যাবে।
এবার মাস্টার সার্ভারের my.cnf-এর [mysqld] সেকশনটা এইরকম হবেঃ

server-id = 1
relay-log = /usr/local/mysql/var/mysql-relay-bin
relay-log-index = /usr/local/mysql/var/mysql-relay-bin.index
log-error = /usr/local/mysql/var/mysql.err
master-info-file = /usr/local/mysql/var/mysql-master.info
relay-log-info-file = /usr/local/mysql/var/mysql-relay-log.info
datadir = /usr/local/mysql/var
log-bin = /usr/local/mysql/var/mysql-bin

ঠিক একই ভাবে স্লেইভ সার্ভারের my.cnf-এ [mysqld] সেকশনে এইভাবে লিখতে হবে

server-id = 2
relay-log = /usr/local/mysql/var/mysql-relay-bin
relay-log-index = /usr/local/mysql/var/mysql-relay-bin.index
log-error = /usr/local/mysql/var/mysql.err
master-info-file = /usr/local/mysql/var/mysql-master.info
relay-log-info-file = /usr/local/mysql/var/mysql-relay-log.info
datadir = /usr/local/mysql/var

বিঃদ্রঃ server-id অংশটা খেয়াল করুন। এটা দুই সার্ভারে অবশ্যই আলাদা হতে হবে।

এখন মাস্টারে নতুন ইউজার বানানঃ

mysql> grant replication slave on *.* to slaveuser@'1.0.0.2' identified by 'slavepass';

আপনার ডেটাবেইজে যদি আগে থেকেই ডেটা থাকে তবে…
মাস্টারে ডাম্প করুন...

mysqldump -u root --all-databases --single-transaction --master-data=1 > masterdump.sql

আর স্লেইভে ইম্পোর্ট করুন...

mysql < masterdump.sql

এইবার স্লেইভের ক্লায়েন্টে-এ ঢুকে মাস্টারের কনফিগ অ্যাড করুনঃ

mysql> CHANGE MASTER TO MASTER_HOST='1.0.0.1', MASTER_USER='slaveuser', MASTER_PASSWORD='slavepass';

ওক্কে, কনফিগারেশন এবং ডেটা ইম্পোর্ট তো হয়ে গেলো। এইবার বুকে ফুঁ দিয়ে চাকর বাবাজীকে স্টার্ট করেনঃ

mysql> start slave;

সব ঠিকঠাক থাকলে চাকর সাহেবের রিয়েল টাইম স্টেটাস দেখতে পারবেন এই কমান্ড দিয়েঃ

mysql> show slave status

তবে স্লেইভ আর মাস্টারের লাস্ট রেকর্ড কাউন্ট সব সময় একই হবে না। বেশিরভাগ ক্ষেত্রেই মাস্টার থেকে স্লেইভ একটু পিছিয়ে থাকবে।

সর্বশেষ সম্পাদনা করেছেন invarbrass (22-02-2009 02:29)

Re: মাইসিক্ল-এ মাস্টার-স্লেইভ রেপ্লিকেশন

ভাল জিনিষ। বুক মার্ক করে রাখলাম।

চাকরী করার সময় মাইএসকিউল রেপ্লিকেশন করতাম কয়েকদিন পর পর।  এটা + আরো কিছউ সফটওয়্যারে ইন্সটল করার চার্জ ছিল $৪০০।
আর আমি পুরো মাসেও $৪০০ পেতাম না। cry

http://url.ie/zybhttp://url.ie/zydhttp://url.ie/zyc
মুখে তুলে কেউ খাইয়ে দেবে না। নিজের হাতেই সেটা করতে হবে।

শিপলু'এর ওয়েবসাইট

লেখাটি GPL v3 এর অধীনে প্রকাশিত

Re: মাইসিক্ল-এ মাস্টার-স্লেইভ রেপ্লিকেশন

ভাই কোম্পানীর ঠিকানাটা দেন তো জলদি! big_smile

Re: মাইসিক্ল-এ মাস্টার-স্লেইভ রেপ্লিকেশন

চমৎকার পোস্ট; ধন্যবাদ ইনভারব্রাশ ভাই।(y)
ওরাকলে একটি অপশন আছে একই  কাজ করার জন্যেঃ 'স্ন্যাপশট'।

ইয়ে, আমার পিসির my.ini-র সাথে দেখি আপনার my.cnf-র অনেক প্যারামিটারই মেলে না। relay-log এর কোনোটাই নেই। আমারটা অবশ্য পুরোনো ভার্সন।

রংধনু দেখতে হলে বৃষ্টিকেও হাসিমুখে বরণ করতে হয়। বৃষ্টি নিজেই তখন রূপান্তরিত হয় আনন্দের উৎসে।

রুমন'এর ওয়েবসাইট

লেখাটি by 3.0 এর অধীনে প্রকাশিত

Re: মাইসিক্ল-এ মাস্টার-স্লেইভ রেপ্লিকেশন

ধন্যবাদ আপনাকেও। এই টিউটোরিয়ালটা 5.0 বা তার পরের ভার্শনের জন্য।

পোস্টঃ [ ৫ ]

পাতা 1

উত্তর দেয়ার জন্য আপনাকে অবশ্যই প্রবেশ বা নিবন্ধন করতে হবে

সম্পর্কিত বিষয়

শিরোনাম উত্তর সমূহ প্রদর্শন সর্বশেষ পোস্ট

  • ১৭ উত্তর সমূহ
  • ১৯২৮ প্রদর্শন
  • সর্বশেষ পোস্ট 04-01-2009 19:30 লিখেছেন রাব্বানী
  • উত্তর সমূহ
  • ২০৫ প্রদর্শন
  • সর্বশেষ পোস্ট 01-06-2009 14:01 লিখেছেন invarbrass
  • উত্তর সমূহ
  • ৩৪৮ প্রদর্শন
  • সর্বশেষ পোস্ট 22-02-2009 14:38 লিখেছেন invarbrass

X




Currently installed 10 official extensions. Copyright © 2003–2009 PunBB.




English Pad: