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=1 innodbflushmethod=Odirect — innodbflushlogattrxcommit=0xtrabackup ورژن 2.4.20 MySQL سرور 5.7.26 لینکس (x8664) پر مبنی (نظرثانی کی شناخت: c8b4056)

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

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

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

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

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

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

Что такое datadir?

ڈیٹاڈیر وہ ڈائریکٹری ہے جہاں ڈیٹا بیس سرور ہے۔ MySQL ڈیٹا ذخیرہ کرتا ہے۔ تمام ڈیٹا بیس، تمام میزیں موجود ہیں۔ زیادہ تر لینکس ڈسٹری بیوشنز پر، ڈیفالٹ ڈائرکٹری ہوتی ہے۔ /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

نیا تبصرہ شامل کریں