Percona XtraBackup adalah utilitas cadangan panas untuk database MySQL .
Tidak ada kunci tabel yang terjadi selama pencadangan data, sistem Anda terus bekerja tanpa batasan apa pun.
XtraBackup 2.4 dapat mencadangkan tabel InnoDB , XtraDB dan MyISAM pada server MySQL 5.11, 5.5, 5.6, dan 5.7 , serta server Percona untuk MySQL dengan XtraDB .
Untuk bekerja dengan MySQL 8.x , Anda harus menggunakan XtraBackup 8.x. Artikel ini hanya akan membahas tentang XtraBackup 2.4.
Keuntungan utama XtraBackup adalah bahwa utilitas ini cocok untuk mencadangkan server dan sistem dengan jumlah transaksi yang tinggi.
Jika ukuran total database MySQL Anda signifikan (puluhan gigabyte), maka utilitas mysqldump standar tidak akan memungkinkan Anda membuat cadangan dengan cepat, dan memulihkan dump akan memakan waktu lama.
Instalasi
Menginstal XtraBackup dari apt Percona repository .
Jalankan perintah berikut secara berurutan:
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 . Setelah instalasi, jalankan perintah xtrabackup -v. Karena, penting untuk memastikan bahwa utilitas tersebut berfungsi dengan benar di server. Hasilnya, sesuatu yang serupa akan ditampilkan di layar:
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 .
Kosongkan folder datadir atau pindahkan isinya ke lokasi lain. Direktori datadir harus kosong.
Setelah data ditransfer ke datadir, server MySQL dapat dijalankan.