إنشاء نسخة احتياطية من MySQL باستخدام الأداة المساعدة XtraBackup

Percona XtraBackup  هي أداة نسخ احتياطي ساخنة  لقواعد بيانات MySQL .

لا تحدث أقفال الجدول أثناء النسخ الاحتياطي للبيانات ، يستمر نظامك في العمل دون أي قيود.

XtraBackup 2.4  يمكن إجراء نسخ احتياطي ك InnoDB ،  XtraDB  و  MYISAM الجداول   على الخلية 5.11، 5.5، 5.6، و 5.7 خوادم  ، وكذلك Percona الخادم   عن  الخلية  مع  XtraDB .

للعمل مع  MySQL 8.x  ، عليك استخدام  XtraBackup 8.x. ستتحدث هذه المقالة فقط عن  XtraBackup 2.4.

الميزة الرئيسية لـ  XtraBackup  هي أن هذه الأداة مناسبة لكل من النسخ الاحتياطي للخوادم والأنظمة المحملة بشكل كبير مع عدد قليل من المعاملات.

إذا كان الحجم الإجمالي لقواعد بيانات MySQL كبيرًا (عشرات الجيجابايت) ،  فلن تسمح لك أداة mysqldump القياسية  بإنشاء نسخة احتياطية بسرعة ، وستستغرق استعادة ملف التفريغ وقتًا طويلاً.

التركيب

تثبيت  XtraBackup  من مستودع  apt  Percona.

قم بتشغيل الأوامر التالية بالتسلسل:

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: recognized server arguments: — datadir=/var/lib/mysql — tmpdir=/tmp — server-id=1 — logbin=/var/log/mysql/mysql-bin.log — innodbbufferpoolsize=16384M — innodbfilepertable=1 — innodbflushmethod=Odirect — innodbflushlogattrxcommit=0xtrabackup version 2.4.20 based on MySQL server 5.7.26 Linux (x8664) (revision id: c8b4056)

,  

XtraBackup :

  • MySQL.

  •  datadir

  •  target-dir .

datadir?

datadir — ,  MySQL  . , . Linux  /var/lib/mysql.

target-dir ?

target-dir — , .

, :

  • RELOAD LOCK TABLES

  • REPLICATION CLIENT

  • CREATE TABLESPACE

  • PROCESS

  • SUPER

  • CREATE

  • INSERT

  • SELECT

 

XtraBackup , , MySQL.

?

, ,  /etc/my.cnf.

XtraBackup  [mysqld]  [xtrabackup]  MySQL. , .

,  datadir   InnoDB XtraBackup  .

XtraBackup ,  [mysqld],  [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.

,  XtraBackup   /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 .

. , . .

, — , :

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

 

. .

.  datadir.

datadir?

.

1

 XtraBackup.  --copy-bak

 datadir  :

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

2

,  XtraBackup.

, —  datadir.  cp  rsync.

,  datadir.

, :

  • MySQL .

  • إفراغ مجلد  datadir  أو نقل محتوياته إلى مكان آخر.  يجب أن يكون دليل  datadir فارغًا.

بمجرد نقل البيانات إلى  datadir ،  يمكن بدء تشغيل خادم MySQL.

المواد المستخدمة

التوثيق الرسمي لـ Percona XtraBackup .




All Articles