پرڪونا ايڪسٽرا بيڪ اپ — ڊيٽابيس جي گرم بيڪ اپ لاءِ هڪ افاديت آهي هن 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-242انسٽاليشن کان پوءِ، حڪم هلايو 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)

رسائي جا حق، اجازتون ۽ استحقاق
ايڪسٽرا بيڪ اپ کي قابل هجڻ گهرجي:
پنھنجي 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
