অ্যান্ড্রয়েড

কিভাবে mysql মাস্টার কনফিগার করতে হয়

কিভাবে সেন্টওএস উপর মাস্টার ও স্লেভ সঙ্গে কনফিগার মাইএসকিউএল ডাটাবেজ আত্ম থেকে

কিভাবে সেন্টওএস উপর মাস্টার ও স্লেভ সঙ্গে কনফিগার মাইএসকিউএল ডাটাবেজ আত্ম থেকে

সুচিপত্র:

Anonim

মাইএসকিউএল প্রতিলিপি হ'ল এমন একটি প্রক্রিয়া যা আপনাকে একটি ডাটাবেস সার্ভার থেকে এক বা একাধিক সার্ভারে স্বয়ংক্রিয়ভাবে ডেটা অনুলিপি করতে দেয়।

মাইএসকিউএল মাস্টার / স্লেভ টোপোলজি সহ সর্বাধিক পরিচিত টপোলজিসমূহের সাথে অনেকগুলি রেপ্লিকেশন টোপোলজিকে সমর্থন করে যেখানে একটি ডাটাবেস সার্ভার মাস্টার হিসাবে কাজ করে, যখন এক বা একাধিক সার্ভার ক্রীতদাস হিসাবে কাজ করে। ডিফল্টরূপে, প্রতিলিপিটি অ্যাসিনক্রোনাস যেখানে মাস্টার ইভেন্টগুলি প্রেরণ করে যা তার বাইনারি লগে ডেটাবেস পরিবর্তনগুলি বর্ণনা করে এবং ক্রীতদাসরা ইভেন্টগুলি প্রস্তুত হওয়ার জন্য অনুরোধ করে।

এই টিউটোরিয়ালে, আমরা কীভাবে একটি সেন্টার 7 এ একটি মাস্টার এবং একটি স্লেভ সার্ভারের সাথে মাইএসকিউএল মাস্টার / স্লেভ রেপ্লিকেশন সেট আপ করতে হবে তা ব্যাখ্যা করব Mar একই পদক্ষেপগুলি মারিয়াডিবি-র জন্য প্রযোজ্য।

এই জাতীয় প্রতিলিপি টোপোলজি পড়ার স্কেলিংয়ের জন্য রিড প্রতিলিপি স্থাপন, দুর্যোগ পুনরুদ্ধারের জন্য লাইভ ডাটাবেস ব্যাকআপ এবং বিশ্লেষণমূলক কাজের জন্য সবচেয়ে উপযুক্ত।

পূর্বশর্ত

এই উদাহরণস্বরূপ, আমরা ধরে নিচ্ছি যে আপনার কাছে সেন্টোস 7 চালানো দুটি সার্ভার রয়েছে যা একটি ব্যক্তিগত নেটওয়ার্কের মাধ্যমে একে অপরের সাথে যোগাযোগ করতে পারে। যদি আপনার হোস্টিং সরবরাহকারী ব্যক্তিগত আইপি ঠিকানাগুলি সরবরাহ না করে তবে আপনি সর্বজনীন আইপি ঠিকানাগুলি ব্যবহার করতে পারেন এবং কেবলমাত্র বিশ্বস্ত উত্স থেকে 3306 পোর্টে ট্র্যাফিকের অনুমতি দেওয়ার জন্য আপনার ফায়ারওয়ালটি কনফিগার করতে পারেন।

এই উদাহরণে সার্ভারগুলির নিম্নলিখিত আইপি রয়েছে:

Master IP: 192.168.121.59 Slave IP: 192.168.121.14

মাইএসকিউএল ইনস্টল করুন

ডিফল্ট সেন্টোস rep টি সংগ্রহস্থলগুলিতে মাইএসকিউএল প্যাকেজ অন্তর্ভুক্ত হয় না তাই আমরা তাদের অফিসিয়াল ইয়াম রেপোজিটরি থেকে মাইএসকিউএল ইনস্টল করব। কোনও সমস্যা এড়াতে, আমরা উভয় সার্ভারে একই মাইএসকিউএল সংস্করণ 5.7 ইনস্টল করব।

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

sudo yum localinstall sudo yum install mysql-community-server

ইনস্টলেশন শেষ হয়ে গেলে, মাইএসকিউএল পরিষেবাটি শুরু করুন এবং এটি দিয়ে স্বয়ংক্রিয়ভাবে বুটটি শুরু করতে সক্ষম করুন:

sudo systemctl enable mysqld sudo systemctl start mysqld

যখন মাইএসকিউএল সার্ভার প্রথমবারের জন্য শুরু হয়, তখন মাইএসকিউএল রুট ব্যবহারকারীর জন্য একটি অস্থায়ী পাসওয়ার্ড তৈরি হয়। পাসওয়ার্ড সন্ধান করতে নিম্নলিখিত গ্রেপ কমান্ডটি ব্যবহার করুন:

sudo grep 'temporary password' /var/log/mysqld.log

আপনার নতুন রুট পাসওয়ার্ড সেট করতে এবং মাইএসকিউএল উদাহরণটির সুরক্ষা উন্নত করতে mysql_secure_installation কমান্ডটি চালান:

mysql_secure_installation

অস্থায়ী রুট পাসওয়ার্ড প্রবেশ করান এবং সমস্ত প্রশ্নের উত্তর Y (হ্যাঁ) দিন।

নতুন পাসওয়ার্ডটির জন্য কমপক্ষে 8-অক্ষর দীর্ঘ হওয়া দরকার এবং কমপক্ষে একটি বড় হাতের অক্ষর, একটি ছোট হাতের অক্ষর, একটি সংখ্যা এবং একটি বিশেষ অক্ষর থাকতে হবে।

মাস্টার সার্ভার কনফিগার করুন

প্রথমত, আমরা মাস্টার মাইএসকিউএল সার্ভারটি কনফিগার করব এবং নিম্নলিখিত পরিবর্তনগুলি করব:

  • প্রাইভেট আইপি শুনতে মাইএসকিউএল সার্ভার সেট করুন a একটি অনন্য সার্ভার আইডি সেট করুন the বাইনারি লগিং সক্ষম করুন।

এটি করতে মাইএসকিউএল কনফিগারেশন ফাইলটি খুলুন এবং এর মধ্যে নিম্নলিখিত লাইনগুলি যুক্ত করুন অধ্যায়:

sudo nano /etc/my.cnf মাস্টার: /etc/my.cnf

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

একবার হয়ে গেলে, পরিবর্তনগুলি কার্যকর হওয়ার জন্য মাইএসকিউএল পরিষেবাটি পুনরায় চালু করুন

sudo systemctl restart mysqld

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

mysql -uroot -p

মাইএসকিউএল প্রম্পটের অভ্যন্তর থেকে, নিম্নলিখিত এসকিউএল কোয়েরিগুলি চালনা করুন যা replica ব্যবহারকারী তৈরি করবে এবং ব্যবহারকারীকে REPLICATION SLAVE সুবিধা প্রদান করবে:

CREATE USER 'replica'@'192.168.121.14' IDENTIFIED BY 'strong_password';

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.14'; আপনার স্লেভ আইপি ঠিকানা দিয়ে আপনি আইপি পরিবর্তন করেছেন তা নিশ্চিত করুন। আপনি নিজের ইচ্ছামত ব্যবহারকারীর নাম রাখতে পারেন।

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

SHOW MASTER STATUS\G

*************************** 1. row *************************** File: mysql-bin.000001 Position: 1427 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)

ফাইলের নাম, 'mysql-bin.000001' এবং অবস্থান '1427' নোট করুন note স্লেভ সার্ভারটি কনফিগার করার সময় আপনার এই মানগুলির প্রয়োজন হবে। এই মানগুলি সম্ভবত আপনার সার্ভারে পৃথক হবে।

স্লেভ সার্ভার কনফিগার করুন

উপরের মাস্টার সার্ভারের মতো, আমরা স্লেভ সার্ভারে নিম্নলিখিত পরিবর্তনগুলি করব:

  • মাইএসকিউএল সার্ভারটি বেসরকারী আইপসেটে শুনতে একটি অনন্য সার্ভার আইডি বাইনারি লগিং সক্ষম করুন Set

মাইএসকিউএল কনফিগারেশন ফাইলটি খুলুন এবং নিম্নলিখিত লাইনগুলি সম্পাদনা করুন:

sudo nano /etc/my.cnf ক্রীতদাস: /etc/my.cnf

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

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

sudo systemctl restart mysqld

পরবর্তী পদক্ষেপটি হ'ল গোলাপ সার্ভার যে পরামিতিগুলি মাস্টার সার্ভারের সাথে সংযোগ করতে ব্যবহার করবে তা কনফিগার করা। মাইএসকিউএল শেলটিতে লগইন করুন:

mysql -uroot -p

প্রথমে দাস থ্রেডগুলি বন্ধ করুন:

STOP SLAVE;

নিম্নলিখিত কোয়েরিটি চালান যা মাস্টারের প্রতিরূপ তৈরি করতে ক্রীতদাসকে সেট করবে:

CHANGE MASTER TO MASTER_HOST='192.168.121.59', MASTER_USER='replica', MASTER_PASSWORD='strong_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1427;

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

হয়ে গেলে দাস থ্রেডগুলি শুরু করুন।

START SLAVE;

কনফিগারেশন পরীক্ষা করুন

এই মুহুর্তে, আপনার একটি কার্যকরী মাস্টার / স্লেভের প্রতিলিপি সেটআপ করা উচিত।

প্রত্যাশার মতো সবকিছু কাজ করে যাচাই করতে, আমরা মাস্টার সার্ভারে একটি নতুন ডাটাবেস তৈরি করব:

mysql -uroot -p

CREATE DATABASE replicatest;

দাস মাইএসকিউএল শেলটিতে লগইন করুন:

mysql -uroot -p

সমস্ত ডাটাবেস তালিকাভুক্ত করতে নিম্নলিখিত কমান্ডটি চালান:

SHOW DATABASES;

আপনি লক্ষ্য করবেন যে মাস্টার সার্ভারে আপনি যে ডাটাবেসটি তৈরি করেছেন তা ক্রীতদাসে প্রতিলিপি করা হয়েছে:

+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)

উপসংহার

এই টিউটোরিয়ালে, আমরা আপনাকে সেন্টোস 7 এ একটি মাইএসকিউএল মাস্টার / স্লেভ প্রতিলিপি তৈরি করতে দেখিয়েছি।

আপনার কোনও প্রশ্ন থাকলে নির্দ্বিধায় কোনও মন্তব্য করুন leave

সেন্টস মাইএসকিএল মারিয়াডবি