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

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

কেন Hugh Masekela বাম দক্ষিণ 1960 সালে আফ্রিকা - উবুন্টু উত্সব

কেন Hugh Masekela বাম দক্ষিণ 1960 সালে আফ্রিকা - উবুন্টু উত্সব

সুচিপত্র:

Anonim

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

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

এই টিউটোরিয়ালটি মাইএসকিউএল মাস্টার / উবুন্টু ১৮.০৪-তে একটি মাস্টার এবং একটি স্লেভ সার্ভারের সাথে স্লেভ প্রতিরূপের একটি প্রাথমিক উদাহরণকে অন্তর্ভুক্ত করে। একই পদক্ষেপগুলি মারিয়াডিবি-র জন্য প্রযোজ্য।

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

পূর্বশর্ত

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

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

Master IP: 192.168.121.190 Slave IP: 192.168.121.236

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

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

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

sudo apt-get update sudo apt-get install mysql-server

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

sudo apt-get update sudo apt-get install mysql-server

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

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

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

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

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf মাস্টার: /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 192.168.121.190 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log

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

sudo systemctl restart mysql

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

sudo mysql

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

CREATE USER 'replica'@'192.168.121.236' IDENTIFIED BY 'replica_password';

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

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

SHOW MASTER STATUS\G

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

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

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

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

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

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

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf ক্রীতদাস: /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 192.168.121.236 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log

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

sudo systemctl restart mysql

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

sudo mysql

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

STOP SLAVE;

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

CHANGE MASTER TO MASTER_HOST='192.168.121.190', MASTER_USER='replica', MASTER_PASSWORD='replica_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=629;

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

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

START SLAVE;

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

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

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

sudo mysql

CREATE DATABASE replicatest;

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

sudo mysql

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

SHOW DATABASES;

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

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

উপসংহার

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

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

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