Membuat Cadangan MySQL Menggunakan Utilitas XtraBackup

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 InnoDBXtraDB  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-24

2 . 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/backup

2

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

Bahan-bahan yang digunakan

Dokumentasi resmi Percona XtraBackup .




All Articles