কীভাবে আরএসএইচ 8 তে মাইএসকিউএল মাস্টার-স্লেভ প্রতিলিপি সেটআপ করবেন


মাইএসকিউএল প্রতিলিপি একটি প্রক্রিয়া যেখানে এক সার্ভার থেকে ডেটা স্বয়ংক্রিয়ভাবে অনুলিপি করা হয় বা রিয়েল-টাইমে অন্য কোনও ব্যাকআপ সার্ভারে অনুলিপি করা হয়। প্রতিলিপি অপ্রয়োজনীয়তা এবং ত্রুটি সহনশীলতা সরবরাহ করে এবং ব্যবহারকারীকে মনের শান্তি দেয় যে মাস্টার সার্ভারে ব্যর্থতার পরেও ডেটা পুনরুদ্ধার করা যায়।

এই টিউটোরিয়ালে, আপনি কীভাবে একটি আরএইচইএল 8 লিনাক্সে মাইএসকিউএল মাস্টার-স্লেভ রেপ্লিকেশন কনফিগার করতে এবং সেট আপ করতে শিখতে চলেছেন।

সেটআপে, আমরা নিম্নলিখিত আইপি অ্যাড্রেসগুলি সহ দুটি সার্ভার RHEL 8 চালিয়ে যাচ্ছি।

Master = 173.82.120.14
Slave  = 173.82.115.165

আসুন এখন এগিয়ে যান এবং দেখুন কীভাবে আমরা আরএইচইএল 8 লিনাক্সে মাইএসকিউএল মাস্টার-স্লেভ রেপ্লিকেশন সেটআপটি কনফিগার করতে পারি।

পদক্ষেপ 1: মাস্টার এবং স্লেভ সার্ভারে মাইএসকিউএল ইনস্টল করুন

1. মাইএসকিউএল 8.x এর সর্বশেষতম সংস্করণটি ইতিমধ্যে আরএইচইএল 8 এর ডিফল্ট সংগ্রহস্থলে অন্তর্ভুক্ত রয়েছে এবং আপনি নিম্নলিখিত yum কমান্ডটি ব্যবহার করে এটি ইনস্টল করতে পারেন।

# yum -y install @mysql

পদক্ষেপ 2: মাস্টার এবং স্লেভ সার্ভারে মাইএসকিউএল সুরক্ষিত করুন

ইনস্টলেশনের পরে, আপনার এখন সবেমাত্র ইনস্টল করা মাইএসকিউএল পরিষেবাটি শুরু করা উচিত এবং প্রতিবার আপনি যখন সার্ভারটি শুরু করেন তখন এটি স্বয়ংক্রিয়ভাবে শুরু করা উচিত। সুতরাং, নিম্নলিখিত কমান্ড ব্যবহার করুন।

# systemctl enable mysqld
# systemctl start mysqld

এরপরে, আপনাকে সুরক্ষা স্ক্রিপ্টটি চালিয়ে আপনার মাইএসকিউএল ইনস্টলেশনটি সুরক্ষিত করতে হবে যা রুট পাসওয়ার্ড সেট করা, বেনামে ব্যবহারকারীদের সরিয়ে ফেলা, রুট লগইনকে দূর থেকে নিষ্ক্রিয় করা, পরীক্ষার ডাটাবেস সরিয়ে পুনরায় লোড করা সুবিধা as

# mysql_secure_installation

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

পদক্ষেপ 3: মাইএসকিউএল মাস্টার সার্ভার কনফিগার করা

মাস্টার সার্ভার কনফিগারেশন দিয়ে শুরু করতে, নিম্নলিখিত কমান্ডটি লিখে মাইএসকিউএল কনফিগারেশন ফাইলটি খুলুন।

$ sudo vim /etc/my.cnf

mysqld বিভাগে, নীচের মত চিত্রগুলি যুক্ত করুন।

bind-address =173.82.120.14
server-id = 1
log_bin =mysql-bin

অবশেষে, মাইএসকিউএল পরিষেবাটি পুনরায় চালু করুন।

$ sudo systemctl restart mysqld

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

$ sudo mysql -u root -p

একই সময়ে ব্যবহারকারীকে স্লেভ অ্যাক্সেস দেওয়ার সময় প্রতিলিপি ব্যবহারকারী তৈরি করতে নিম্নলিখিত কমান্ডগুলি চালান। আপনার মেশিনের আইপি ঠিকানা ব্যবহার করতে ভুলবেন না।

mysql> CREATE USER 'replica'@'173.82.115.165' IDENTIFIED BY 'strong_password';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'173.82.115.165';

এখন, আপনি নিম্নলিখিত কমান্ড টাইপ করতে যা বাইনারি ফাইল নাম এবং অবস্থান মুদ্রণ করবে।

mysql> SHOW MASTER STATUS\G

ফলাফলের এমএসকিএল-বিন.000002 এবং এর অবস্থান 939 নামটি মনে রাখবেন।

পদক্ষেপ 4: মাইএসকিউএল স্লেভ সার্ভার কনফিগার করা

মাস্টার সেট আপ করার প্রক্রিয়াটির মতোই আপনাকেও মাইএসকিএল স্লেভ কনফিগারেশন ফাইলে নিম্নলিখিত পরিবর্তনগুলি করা উচিত।

$ sudo vim  /etc/my.cnf

mysqld বিভাগের অধীনে কনফিগারেশন ফাইলে নিম্নলিখিত লাইনগুলি যুক্ত করুন।

bind-address =173.82.115.165
server-id = 2
log_bin =mysql-bin

সার্ভারটি পুনরায় চালু করুন।

$ sudo systemctl restart mysqld

এখন পরবর্তী পদক্ষেপটি হ'ল দাস সার্ভারটি মাস্টার সার্ভার থেকে প্রতিলিপি তৈরি করতে হবে। মাইএসকিউএল সার্ভারে লগ ইন করুন।

$ sudo mysql -u root -p

প্রথমে প্রতিলিপি থ্রেডগুলি বন্ধ করুন।

mysql> STOP SLAVE;

এখন, নিম্নলিখিত কোয়েরিটি চালান যা মাস্টার সার্ভার থেকে প্রতিলিপি স্লেভকে কনফিগার করবে।

mysql> CHANGE MASTER TO
    -> MASTER_HOST='173.82.120.14' ,
    -> MASTER_USER='replica' ,
    -> MASTER_PASSWORD='[email ' ,
    -> MASTER_LOG_FILE='mysql-bin.000002' ,
    -> MASTER_LOG_POS=939;

নিশ্চিত হয়ে নিন যে আপনি সঠিক আইপি ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করছেন। এছাড়াও, মাস্টার সার্ভার থেকে প্রাপ্ত ফাইলের নাম এবং অবস্থানটি ব্যবহার করুন।

শেষ পর্যন্ত, স্লেভ থ্রেড শুরু করতে নিম্নলিখিত কমান্ডটি টাইপ করুন।

mysql> START SLAVE;

পদক্ষেপ 5: মাইএসকিউএল মাস্টার-স্লেভ প্রতিরীক্ষার পরীক্ষা করা

এই মুহুর্তে, আপনি উভয় মাস্টার এবং স্লেভ সার্ভারের কনফিগারেশন সম্পন্ন করেছেন। কনফিগারেশনটি কাজ করছে কিনা এবং প্রতিলিপিটি ঘটতে পারে কিনা তা এখন আমাদের যাচাই করা দরকার।

এটি করতে, মাস্টার সার্ভারে বেরিয়ে মাইএসকিউএল ডাটাবেস সার্ভারে লগ ইন করুন।

$ sudo mysql -u root -p

একটি নমুনা ডাটাবেস তৈরি করুন।

mysql> CREATE DATABASE replication_database;

স্লেভ সার্ভারের দিকে বেরোন এবং আবার, মাইএসকিউএল ডাটাবেস সার্ভারে লগ ইন করুন।

$ sudo mysql -u root -p

এখন নিম্নলিখিত কমান্ড ব্যবহার করে সমস্ত ডাটাবেস তালিকাভুক্ত করুন।

mysql> SHOW DATABASES;

যদি আপনি তৈরি ডাটাবেসটি দেখেন তবে মাইএসকিউএল মাস্টার-স্লেভ প্রতিলিপি সেটআপ কাজ করে।

অনুলিপি করা মোটামুটি সহজ প্রক্রিয়া যা সহজেই করা যায়। এই গাইডটিতে আপনি শিখেছেন কীভাবে আপনি কোনও RHEL 8 লিনাক্সে দাসত্ব করতে মাইএসকিউএল মাস্টারের একটি প্রতিলিপি তৈরি করতে পারেন।