انڈروئد

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

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

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

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

Anonim

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

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

اس ٹیوٹوریل میں ، ہم وضاحت کریں گے کہ سینٹوس 7 پر ایک ماسٹر اور ایک غلام سرور کے ساتھ مائک ایس کیو ایل ماسٹر / غلام کی نقل تیار کرنے کا طریقہ

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

شرطیں

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

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

Master IP: 192.168.121.59 Slave IP: 192.168.121.14

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

پہلے سے طے شدہ سینٹوس 7 ذخیروں میں ایس کیو ایل پیکیجز شامل نہیں ہیں لہذا ہم ان کے آفیشل یم ریپوزٹری سے مائ ایس کیو ایل انسٹال کریں گے۔ کسی بھی مسئلے سے بچنے کے ل To ، ہم ایک ہی ایس کیو ایل ورژن 5.7 دونوں سرورز پر انسٹال کریں گے۔

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

sudo yum localinstall sudo yum install mysql-community-server sudo yum localinstall sudo yum install mysql-community-server

ایک بار جب انسٹالیشن مکمل ہوجائے تو ، ایس کیو ایل سروس شروع کریں اور خود بخود بوٹ شروع کرنے کے قابل بنائیں:

sudo systemctl enable mysqld sudo systemctl start mysqld

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

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

اپنا نیا روٹ پاس ورڈ ترتیب دینے اور ایس کیو ایل مثال کے طور پر سیکیورٹی کو بہتر بنانے کے لئے mysql_secure_installation کمانڈ چلائیں:

mysql_secure_installation

عارضی طور پر روٹ پاس ورڈ درج کریں اور تمام سوالات کے جوابات Y (ہاں) میں دیں۔

نیا پاس ورڈ کم از کم 8-حرف لمبا ہونا ضروری ہے اور اس میں کم از کم ایک بڑے حرف ، ایک چھوٹے حرف ، ایک نمبر ، اور ایک خاص حرف ہونا چاہ.۔

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

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

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

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

sudo nano /etc/my.cnf ماسٹر: /etc/my.cnf

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

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

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

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

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

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

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

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

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

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_PASSWORD='strong_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1427;

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

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

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 پر مائ ایس کیو ایل ماسٹر / غلام کی نقل تیار کرتے ہوئے دکھایا ہے۔

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

سینٹوس ایس کیو ایل ماریاڈ بی