XtraBackup استعمال ڪندي MySQL بيڪ اپ ٺاهيو

پرڪونا ايڪسٽرا بيڪ اپ — ڊيٽابيس جي گرم بيڪ اپ لاءِ هڪ افاديت آهي هن MySQL.

ڊيٽا بيڪ اپ ٺاهڻ دوران، ڪابه ٽيبل بند نه ٿيندي آهي، ۽ توهان جو سسٽم بغير ڪنهن پابندي جي ڪم ڪندو رهندو آهي.

ايڪسٽرا بيڪ اپ 2.4 ٽيبلن جون بيڪ اپ ڪاپيون ٺاهي سگھي ٿو بيورو ڊيايڪسٽرا ڊي بي и ميسام سرورن تي MySQL 5.11، 5.5، 5.6، ۽ 5.7، ۽ سرور تي پڻ پيروڪا لاء هن MySQL с ايڪسٽرا ڊي بي.

سان ڪم ڪرڻ MySQL 8.x نسخو استعمال ڪيو وڃي ايڪسٽرا بيڪ اپ 8.x. هي مضمون صرف ان بابت بحث ڪندو ايڪسٽرا بيڪ اپ 2.4.

بنيادي فائدو ايڪسٽرا بيڪ اپ ڇا اهو آهي ته هي افاديت تمام گهڻي لوڊ ٿيل فائلن جي بيڪ اپ ڪاپيون ٺاهڻ لاءِ موزون آهي سرور، انهي سان گڏ گهٽ ٽرانزيڪشن وارن سسٽم لاءِ.

جيڪڏهن توهان جي MySQL ڊيٽابيس جي ڪل سائيز اهم آهي (ڏهه گيگا بائيٽ)، ته پوءِ معياري يوٽيلٽي مائي ايس ڪيو ايل ڊمپ توهان کي جلدي بيڪ اپ ڪاپي ٺاهڻ جي اجازت نه ڏيندو، ۽ ڊمپ کي بحال ڪرڻ ۾ گهڻو وقت لڳندو.

تنصيب

تنصيب ايڪسٽرا بيڪ اپ مخزن کان apt پرڪونا.

هيٺ ڏنل حڪمن کي ترتيب سان هلايو:

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 تي ٻڌل آهي Linux (x8664) (نظرثاني سڃاڻپ: c8b4056)

XtraBackup استعمال ڪندي MySQL بيڪ اپ ٺاهيو

رسائي جا حق، اجازتون ۽ استحقاق 

ايڪسٽرا بيڪ اپ کي قابل هجڻ گهرجي:

  • پنھنجي MySQL سرور سان ڳنڍيو.

  • ڊاريڪٽري تائين رسائي جا حق حاصل ڪريو ڊيٽا ڊائر

  • بيڪ اپ ڪاپي ٺاهڻ وقت، مخصوص پيرا ميٽر تي لکڻ جا حق رکو. ٽارگيٽ-ڊائريڪٽر فهرست.

ڊيٽا ڊائر ڇا آهي؟

ڊيٽا ڊائر - هي ڊاريڪٽري آهي جتي ڊيٽابيس سرور واقع آهي. هن MySQL ڊيٽا اسٽور ڪري ٿو. سڀ ڊيٽابيس، سڀ ٽيبل اتي موجود آهن. گھڻن ورڇن ۾ Linux ڊفالٽ طور، هي ڊاريڪٽري آهي /var/lib/mysql.

target-dir ڊاريڪٽري ڇا آهي؟

ٽارگيٽ-ڊائريڪٽر — هي ڊاريڪٽري آهي جتي بيڪ اپ محفوظ ڪيو ويندو.

ڊيٽابيس استعمال ڪندڙ کي ٽيبلن ۽ ڊيٽابيس تائين رسائي جي حقن جو بيڪ اپ وٺڻ جي ضرورت آهي:

  • ٽيبلن کي ٻيهر لوڊ ڪريو ۽ بند ڪريو

  • نقل ڪندڙ گراهڪ

  • ٽيبل اسپيس ٺاهيو

  • پروسيس

  • مددگار

  • پيدا

  • INSERT

  • چونڊيو

ڪنفگريشن 

ڪنفگريشن ايڪسٽرا بيڪ اپ اختيارن کي استعمال ڪندي مڪمل ڪيو ويندو آهي جيڪي معياري MySQL پيرا ميٽرز وانگر عمل ڪن ٿا.

هي ڇا مطلب آهي؟

ترتيب جا پيرا ميٽر يا ته ڪمانڊ لائن تي يا DBMS ترتيب واري فائل ۾ بيان ڪري سگھجن ٿا، مثال طور /وغيره/منهنجو.سي اين ايف.

ايڪسٽرا بيڪ اپ يوٽيليٽي لانچ ٿيڻ کان پوءِ پارٽيشنز پڙهي ٿي. [mysqld] и [ايڪسٽرا بيڪ اپ] MySQL ترتيب واري فائلن مان. اهو ان ڪري ڪيو ويندو آهي ته جيئن يوٽيلٽي توهان جي DBMS سيٽنگن کي هر بيڪ اپ لاءِ دستي طور تي بيان ڪرڻ جي بغير استعمال ڪري سگهي.

مثال طور، معنيٰ ڊيٽا ڊائر ۽ ڪجھ پيرا ميٽرز بيورو ڊي اسان توهان جي DBMS ترتيب مان XtraBackup حاصل ڪريون ٿا.

جيڪڏهن توهان XtraBackup سيڪشن ۾ سيٽنگون اوور رائڊ ڪرڻ چاهيو ٿا [mysqld]، پوءِ صرف انهن کي سيڪشن ۾ ترتيب واري فائل ۾ بيان ڪريو [ايڪسٽرا بيڪ اپ]جيئن ته اهي بعد ۾ پڙهيا ويندا، انهن جي ترجيح وڌيڪ هوندي.

توهان کي ڪو به پيرا ميٽر شامل ڪرڻ جي ضرورت ناهي منهنجو. سي اين ايفسڀ گهربل پيرا ميٽر ڪمانڊ لائن تي بيان ڪري سگھجن ٿا. عام طور تي، صرف هڪ ئي شيءِ جيڪا آساني سان سيڪشن ۾ رکي سگهجي ٿي [ايڪسٽرا بيڪ اپ] توهان جو منهنجو. سي اين ايف - هي هڪ پيرا ميٽر آهي ٽارگيٽ_ڊائريڪٽر، جيڪو ڊفالٽ طور تي ڊاريڪٽري کي بيان ڪري ٿو جتي بيڪ اپ رکيا ويندا. بهرحال، اهو گهربل ناهي.

بيڪ اپ ڪاپي سان ڊاريڪٽري جو رستو بيان ڪرڻ جو هڪ مثال منهنجو. سي اين ايف:

[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.

پوءِ، افاديت استعمال ڪندي ايڪسٽرا بيڪ اپ هڪ بيڪ اپ ڪاپي ٺاهيو ۽ ان کي محفوظ ڪريو /مائي ايس ڪيو ايل/بيڪ اپ/:

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

اسان اڳ ۾ MySQL ۾ هڪ صارف ٺاهيو هو. xtrabackup گهربل مراعات سان. پيرا ميٽر استعمال ڪندي target-dir اسان ڊاريڪٽري بيان ڪريون ٿا جنهن ۾ بيڪ اپ محفوظ ڪيو وڃي.

هڪ اهم نقطو!

مهرباني ڪري اسڪرپٽ لائن تي ڌيان ڏيو:

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

ڪيٽلاگ ۾ ڊيٽا /mysql/بيڪ اپ جيستائين اهي تيار نه ٿين، تيستائين هڪجهڙا نه هوندا. 

ڳالهه اها آهي ته فائلن جي ڪاپي ڪرڻ دوران تبديليون ٿي سگهن ٿيون. آپريشن xtrabackup --prepare --target-dir=/mysql/backup بيڪ اپ ڊيٽا کي وقت سان گڏ مڪمل طور تي هڪجهڙائي رکي ٿو.

توهان ڪنهن به مشين تي ڊيٽا تيار ڪرڻ جو عمل ڪري سگهو ٿا. ان کي سرور تي ڪرڻ جي ڪا ضرورت ناهي جيڪو سورس ڊي بي ايم ايس کي هوسٽ ڪري رهيو آهي. توهان بيڪ اپ کي ٽارگيٽ سرور ڏانهن ڪاپي ڪري سگهو ٿا ۽ اتي تيار ڪري سگهو ٿا.

آخري ڪم جيڪو اسان ڪندا آهيون اهو هڪ آرڪائيو ٺاهڻ آهي جنهن ۾ اسان پنهنجي بيڪ اپ ڪاپي رکون ٿا:

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