انڈروئد

ایس کیو ایل ماسٹر کو تشکیل دینے کا طریقہ

الفضاء - علوم الفلك للقرن Ø§Ù„ØØ§Ø¯ÙŠ والعشرين

الفضاء - علوم الفلك للقرن Ø§Ù„ØØ§Ø¯ÙŠ والعشرين

فہرست کا خانہ:

Anonim

مائی ایس کیو ایل کی نقل ایک عمل ہے جو ایک ڈیٹا بیس سرور کے ڈیٹا کو خود بخود ایک یا زیادہ سرورز میں کاپی کرنے کی اجازت دیتا ہے۔

ایس کیو ایل ماسٹر / سلیپ ٹوپولوجی کے ساتھ متعدد نقل ٹوپوالوجی کی حمایت کرتا ہے جس میں ایک بہت مشہور ٹاپالوجی ہے جس میں ایک ڈیٹا بیس سرور ماسٹر کی حیثیت سے کام کرتا ہے ، جبکہ ایک یا زیادہ سرور غلام کی حیثیت سے کام کرتے ہیں۔ بطور ڈیفالٹ ، اس کا نقاشی غیر متزلزل ہے جہاں ماسٹر ایسے واقعات بھیجتا ہے جو اپنے بائنری لاگ میں ڈیٹا بیس ترمیم کی وضاحت کرتے ہیں اور غلاموں نے واقعات کی درخواست کی جب وہ تیار ہوجاتے ہیں۔

اس ٹیوٹوریل میں اوزبٹو 18.04 پر ایک ماسٹر اور ایک غلام سرور کے ساتھ مائ ایس کیو ایل ماسٹر / غلام نقل کی ایک بنیادی مثال شامل ہے۔ ماریہ ڈی بی کے لئے بھی وہی اقدامات لاگو ہوتے ہیں۔

اس طرح کی ریپلییکشن ٹوپولاجی پڑھنے کی پیمائش کے لئے پڑھنے والے ریپلیکس کی تعیناتی ، تباہی کی بازیابی کے لئے رواں ڈیٹا بیس کا بیک اپ اور تجزیاتی نوکریوں کے لئے بہترین موزوں ہے۔

شرطیں

اس مثال نے فرض کیا ہے کہ آپ کے اوبنٹو 18.04 میں دو سرور چل رہے ہیں ، جو ایک نجی نیٹ ورک کے ذریعہ ایک دوسرے سے بات چیت کرسکتے ہیں۔ اگر آپ کا میزبان فراہم کنندہ نجی IP پتے پیش نہیں کرتا ہے تو ، آپ عوامی IP پتے استعمال کرسکتے ہیں اور اپنے فائروال کو تشکیل دے سکتے ہیں تاکہ صرف 3306 بندرگاہ پر ٹریفک کی اجازت دی جاسکے۔

اس مثال کے سرورز میں درج ذیل IPs ہیں:

Master IP: 192.168.121.190 Slave IP: 192.168.121.236

ایس کیو ایل انسٹال کریں

پہلے سے طے شدہ اوبنٹو 18.04 مخزنوں میں ایس کیو ایل ورژن 5.7 شامل ہے۔ کسی بھی مسئلے سے بچنے کے ل both ، یہ بہتر ہے کہ ایک ہی ایس کیو ایل ورژن دونوں سرورز پر انسٹال کریں۔

ماسٹر سرور پر ایس کیو ایل انسٹال کریں:

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

اسی احکامات کا استعمال کرتے ہوئے غلام سرور پر ایس کیو ایل انسٹال کریں:

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

ماسٹر سرور تشکیل دیں

پہلا قدم ماسٹر ایس کیو ایل سرور کو مرتب کرنا ہے۔ ہم مندرجہ ذیل تبدیلیاں کریں گے:

  • نجی IP پر سننے کے لئے ایس کیو ایل سرور مرتب کریں۔ ایک انوکھا سرور ID سیٹ کریں۔ بائنری لاگنگ کو فعال کریں

ایسا کرنے کے لئے ، ایس کیو ایل کنفیگریشن فائل کھولیں اور بے قابو ہو یا درج ذیل کو مرتب کریں:

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

ایک بار کام کرنے کے بعد ، تبدیلیوں کے اثر انداز ہونے کے لئے MySQL سروس کو دوبارہ شروع کریں:

sudo systemctl restart mysql

اگلا مرحلہ ایک نیا نقل صارف بنانا ہے۔ ٹائپ کرکے بطور صارف 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'; اس بات کو یقینی بنائیں کہ آپ نے اپنے غلام IP ایڈریس کے ساتھ IP کو تبدیل کیا ہے۔ آپ جیسا چاہیں صارف کا نام دے سکتے ہیں۔

جب بھی اب بھی ایس کیو ایل پرامپٹ کے اندر ہے تو ، درج ذیل کمانڈ پر عمل کریں جو بائنری فائل نام اور پوزیشن پرنٹ کرے گا۔

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' پر نوٹ کریں ۔ غلام سرور کی تشکیل کے وقت آپ کو ان اقدار کی ضرورت ہوگی۔ یہ قدریں شاید آپ کے سرور پر مختلف ہوں گی۔

غلام سرور تشکیل دیں

اوپر والے ماسٹر سرور کی طرح ، ہم بھی غلام سرور میں درج ذیل تبدیلیاں کریں گے:

  • نجی IPSet پر سننے کے لئے ایس کیو ایل سرور مرتب کریں ایک انوکھا سرور ID بائنری لاگنگ کو فعال کریں

ایس کیو ایل کنفیگریشن فائل کھولیں اور درج ذیل لائنوں میں ترمیم کریں۔

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;

یقینی بنائیں کہ آپ صحیح IP ایڈریس ، صارف کا نام اور پاس ورڈ استعمال کررہے ہیں۔ لاگ فائل کا نام اور پوزیشن وہی قیمت ہونی چاہ. جو آپ نے ماسٹر سرور سے حاصل کی ہو۔

ایک بار ہو جانے کے بعد ، غلام تھریڈز شروع کریں۔

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)

نتیجہ اخذ کرنا

اس ٹیوٹوریل میں ، ہم نے آپ کو ایک ایس کیو ایل ماسٹر / غلام کی نقل تیار کرتے ہوئے دکھایا ہے۔

اگر آپ کے ذہن میں کوئی سوال ہے تو بلا جھجھک۔

ubuntu mysql mariadb