Percona XtraBackup 是用于MySQL数据库的热备份实用程序 。
数据备份期间不会发生表锁定,您的系统将继续运行而没有任何限制。
XtraBackup 2.4 可以 在MySQL 5.11、5.5、5.6和5.7服务器上以及 在 具有 XtraDB的MySQL的Percona服务器 上 备份InnoDB, XtraDB 和 MyISAM表 。
要使用 MySQL 8.x ,应使用 XtraBackup8.x。 本文仅讨论 XtraBackup 2.4。
XtraBackup的主要优点 是,该实用程序既适用于备份高负载的服务器,又适用于事务少的系统。
如果MySQL数据库的总容量很大(数十GB),则标准mysqldump实用程序 将不允许您快速创建备份,并且还原转储将花费很长时间。
安装
从apt Percona仓库 安装 XtraBackup。
依次运行以下命令:
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服务器。