XtraBackup یوٹیلیٹی کا استعمال کرتے ہوئے MySQL بیک اپ بنانا

پرکونا ایکسٹرا بیک اپ گرم ڈیٹا بیس بیک اپ کے لیے ایک افادیت ہے۔ MySQL.

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

XtraBackup 2.4 میزوں کی بیک اپ کاپیاں بنا سکتے ہیں۔ InnoDBXtraDB۔ и میسام سرورز پر MySQL 5.11، 5.5، 5.6 اور 5.7، اور سرور پر بھی پرکونا لیے MySQL с XtraDB۔.

کے ساتھ کام کرنا ایس کیو ایل 8.x ورژن استعمال کیا جانا چاہئے XtraBackup 8.x اس مضمون میں صرف بات کی جائے گی۔ XtraBackup 2.4.

اہم فائدہ ایکسٹرا بیک اپ یہ ہے کہ یہ افادیت انتہائی بھری ہوئی بیک اپ کاپیاں بنانے کے لیے موزوں ہے۔ سرورزکے ساتھ ساتھ کم تعداد میں لین دین والے سسٹمز کے لیے۔

اگر آپ کے MySQL ڈیٹا بیس کا کل سائز اہم ہے (دسیوں گیگا بائٹس)، تو معیاری افادیت mysqldump آپ کو جلدی سے بیک اپ کاپی بنانے کی اجازت نہیں دے گا، اور ڈمپ کو بحال کرنے میں کافی وقت لگے گا۔

تنصیب

تنصیب ایکسٹرا بیک اپ ذخیرہ سے مناسب پرکونا

درج ذیل کمانڈز کو ترتیب وار چلائیں:

wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb

sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb

sudo apt-get update 

sudo apt-get install percona-xtrabackup-24

2. تنصیب کے بعد، کمانڈ چلائیں xtrabackup -v. چونکہ، یہ یقینی بنانا ضروری ہے کہ یوٹیلیٹی سرور پر صحیح طریقے سے کام کرتی ہے۔ نتیجے کے طور پر، اسکرین پر کچھ اس طرح دکھایا جائے گا:

xtrabackup: تسلیم شدہ سرور کے دلائل: - datadir=/var/lib/mysql - tmpdir=/tmp - server-id=1 - logbin=/var/log/mysql/mysql-bin.log - innodbbufferpoolsize=16384M - innodbfilepertable=16384M - innodbfilepertable=1 - innodbfilepertable=1 innodbflushlogattrxcommit=0xtrabackup ورژن 2.4.20 MySQL سرور 5.7.26 پر مبنی Linux (x8664) (نظرثانی id: c8b4056)

XtraBackup یوٹیلیٹی کا استعمال کرتے ہوئے MySQL بیک اپ بنانا

رسائی کے حقوق، اجازتیں اور مراعات 

XtraBackup کو اس قابل ہونا چاہئے:

  • اپنے MySQL سرور سے جڑیں۔

  • ڈائریکٹری تک رسائی کے حقوق حاصل کریں۔ ڈیٹاڈیر

  • بیک اپ کاپی بناتے وقت، مخصوص پیرامیٹر پر لکھنے کے حقوق حاصل کریں۔ target-dir تفصیلی فہر ست.

ڈیٹاڈیر کیا ہے؟

ڈیٹاڈیر وہ ڈائریکٹری ہے جہاں ڈیٹا بیس سرور ہے۔ MySQL ڈیٹا ذخیرہ کرتا ہے۔ تمام ڈیٹا بیس، تمام میزیں وہاں موجود ہیں۔ زیادہ تر تقسیم میں Linux پہلے سے طے شدہ طور پر، یہ ڈائریکٹری ہے۔ /var/lib/mysql.

target-dir ڈائریکٹری کیا ہے؟

target-dir - یہ وہ ڈائرکٹری ہے جہاں بیک اپ کو محفوظ کیا جائے گا۔

ڈیٹابیس صارف کو میزوں اور ڈیٹابیس تک رسائی کے درج ذیل حقوق کی ضرورت ہوتی ہے تاکہ بیک اپ لیا جا سکے۔

  • ٹیبلز کو دوبارہ لوڈ اور لاک کریں۔

  • نقل کرنے والا کلائنٹ

  • ٹیبل اسپیس بنائیں

  • پروسیسنگ

  • SUPER

  • بنائیں

  • INSERT

  • کا انتخاب کریں

تشکیل 

تشکیل ایکسٹرا بیک اپ ایسے اختیارات کا استعمال کرتے ہوئے کیا گیا جو معیاری MySQL اختیارات کی طرح برتاؤ کرتے ہیں۔

اس کا کیا مطلب ہے؟

کنفیگریشن کے پیرامیٹرز کو یا تو کمانڈ لائن پر یا DBMS کنفیگریشن فائل میں بیان کیا جا سکتا ہے، مثال کے طور پر /etc/my.cnf.

XtraBackup یوٹیلیٹی لانچ کے بعد پارٹیشنز پڑھتی ہے۔ [عقلق] и [xtrabackup] MySQL کنفیگریشن فائلوں سے۔ ایسا اس لیے کیا جاتا ہے تاکہ یوٹیلیٹی ہر بیک اپ کے دوران دستی طور پر پیرامیٹرز کی وضاحت کیے بغیر آپ کے DBMS کی ترتیبات کو استعمال کر سکے۔

مثال کے طور پر، قدر ڈیٹاڈیر اور کچھ پیرامیٹرز InnoDB ہمیں آپ کے DBMS کی ترتیب سے XtraBackup ملتا ہے۔

اگر XtraBackup کام کرنے کے لیے آپ سیکشن میں موجود پیرامیٹرز کو اوور رائڈ کرنا چاہتے ہیں۔ [عقلق]، پھر سیکشن میں کنفیگریشن فائل میں ان کی وضاحت کریں۔ [xtrabackup]. چونکہ وہ بعد میں پڑھے جائیں گے اس لیے ان کی ترجیح زیادہ ہوگی۔

آپ کو کوئی پیرامیٹرز شامل کرنے کی ضرورت نہیں ہے۔ my.cnf. تمام مطلوبہ پیرامیٹرز کو کمانڈ لائن پر بیان کیا جا سکتا ہے۔ عام طور پر صرف ایک ہی چیز جو آسانی سے سیکشن میں رکھی جاسکتی ہے۔ [xtrabackup] آپ my.cnf ایک پیرامیٹر ہے target_dir، جو بطور ڈیفالٹ ڈائریکٹری کی وضاحت کرتا ہے جہاں بیک اپ رکھے جائیں گے۔ لیکن یہ اختیاری ہے۔

بیک اپ کاپی کے ساتھ ڈائرکٹری کا راستہ بتانے کی ایک مثال my.cnf:

[xtrabackup]
target_dir = /data/backups/mysql/

بیک اپ اسکرپٹ

آپ بیک اپ بنانے کے لیے درج ذیل اسکرپٹ کا استعمال کر سکتے ہیں:

#!/bin/bash

# Удаляем данные в каталоге бекапа
rm -rf /mysql/backup

# Cоздаём бекап
xtrabackup --user=xtrabackup 
 --password=xxxx_SECRET_xxxx 
 --backup 
 --target-dir=/mysql/backup

# Выполняем подготовку бекапа для развёртывания
xtrabackup --prepare --target-dir=/mysql/backup

# Создаём архив
tar -zcvf /home/developer/dumps/xtrabackup-all-dbs-"$(date +%F-%H:%M:%S)".gz /mysql/backup

اسکرپٹ پر عمل درآمد کے دوران کیا ہوتا ہے؟

سب سے پہلے، ہم اس ڈائرکٹری کو صاف (حذف) کرتے ہیں جس میں ہم بیک اپ کاپی محفوظ کریں گے:

rm -rf /mysql/backup.

پھر، افادیت کا استعمال کرتے ہوئے ایکسٹرا بیک اپ ایک بیک اپ کاپی بنائیں اور اسے محفوظ کریں۔ /mysql/backup/:

xtrabackup --user=xtrabackup --password=xxxxz1cYf95550Gc6xxxxxxxpE3rB03xxxx --backup --target-dir=/mysql/backup

پہلے، ہم نے MySQL میں ایک صارف بنایا تھا۔ xtrabackup مطلوبہ مراعات کے ساتھ۔ پیرامیٹر کا استعمال کرتے ہوئے target-dir ہم ڈائریکٹری کی وضاحت کرتے ہیں جہاں بیک اپ کو محفوظ کیا جانا چاہئے۔

ایک اہم نقطہ نظر!

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

xtrabackup --prepare --target-dir=/mysql/backup

کیٹلاگ ڈیٹا /mysql/backup جب تک وہ پکائے نہ جائیں تب تک مطابقت نہیں رکھتے۔ 

حقیقت یہ ہے کہ فائلوں کو کاپی کرتے وقت تبدیلیاں ہوسکتی ہیں۔ آپریشن xtrabackup --prepare --target-dir=/mysql/backup بیک اپ ڈیٹا کو وقت کے ساتھ بالکل مطابقت رکھتا ہے۔

آپ کسی بھی مشین پر ڈیٹا کی تیاری کا عمل انجام دے سکتے ہیں۔ اس سرور پر ایسا کرنے کی ضرورت نہیں ہے جہاں ماخذ DBMS واقع ہے۔ آپ بیک اپ کو ٹارگٹ سرور پر کاپی کر کے وہاں تیار کر سکتے ہیں۔

آخری چیز جو ہم کرتے ہیں وہ ایک آرکائیو بنانا ہے جس میں ہم اپنا بیک اپ رکھتے ہیں:

tar -zcvf /home/developer/dumps/xtrabackup-all-dbs-«$(date % F% H% M% S)».gz /mysql/backup

بیک اپ بحال کرنا 

اس سے پہلے کہ آپ ٹارگٹ سرور پر بیک اپ بحال کر سکیں، ڈیٹا کو تیاری کے مرحلے سے گزرنا چاہیے۔ ایسا کرنے کا طریقہ کے لیے اوپر دیکھیں۔

ڈیٹا کی وصولی کا عمل بہت آسان ہے۔ آپ کو محفوظ شدہ دستاویزات سے بیک اپ نکالنے اور ڈیٹا کو تبدیل کرنے کی ضرورت ہے۔ ڈیٹاڈیر.

ڈیٹاڈیر میں ڈیٹا کو کیسے تبدیل کیا جائے؟

آئیے دو اختیارات پر غور کریں۔

اختیار 1

افادیت کا استعمال کریں۔ ایکسٹرا بیک اپ. آپ کو ایک آپشن بتانا ہوگا۔ --کاپی بیک

نیچے دی گئی کمانڈ بیک اپ کو منتقل کر دے گی۔ ڈیٹاڈیر ہدف سرور:

xtrabackup --copy-back --target-dir=/mysql/backup

اختیار 2

آپ اسے مختلف طریقے سے کر سکتے ہیں، افادیت کے بغیر کر سکتے ہیں۔ ایکسٹرا بیک اپ.

آپ کو صرف بیک اپ کو کاپی کرنے کی ضرورت ہے۔ ڈیٹاڈیر. آپ اس کے ساتھ یہ کر سکتے ہیں۔ cp یا rsync.

یہ سمجھنا ضروری ہے کہ بیک اپ کو بحال کرنے کا طریقہ کار صرف ڈائرکٹری کے مواد کو تبدیل کرنے پر ابلتا ہے۔ ڈیٹاڈیر.

اس سے پہلے کہ آپ ٹارگٹ سرور پر بیک اپ بحال کرنا شروع کریں، آپ کو:

  • MySQL سرور کو روکیں۔

  • فولڈر صاف کریں۔ ڈیٹاڈیر یا اس کے مواد کو کسی دوسری جگہ منتقل کریں۔ تفصیلی فہر ست ڈیٹاڈیر خالی ہونا ضروری ہے.

ڈیٹا کی منتقلی کو مکمل کرنے کے بعد ڈیٹاڈیر MySQL سرور شروع کیا جا سکتا ہے۔

استعمال کیا جاتا مواد

سرکاری دستاویزات پرکونا ایکسٹرا بیک اپ.

ماخذ: www.habr.com

DDoS تحفظ، VPS VDS سرورز والی سائٹوں کے لیے قابل اعتماد ہوسٹنگ خریدیں۔ DDoS تحفظ، VPS VDS سرورز کے ساتھ قابل اعتماد ویب سائٹ ہوسٹنگ خریدیں۔ ProHoster