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-242 . بعد التثبيت ، قم بتشغيل الأمر 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/backup2
, XtraBackup.
, — datadir. cp rsync.
, datadir.
, :
MySQL .
إفراغ مجلد datadir أو نقل محتوياته إلى مكان آخر. يجب أن يكون دليل datadir فارغًا.
بمجرد نقل البيانات إلى datadir ، يمكن بدء تشغيل خادم MySQL.