xtrabackup|8.0 使用页面跟踪进行增量备份

使用页面跟踪进行增量备份可以带来的好处:

  1. 减少备份时间和资源消耗: 使用页面跟踪,系统可以轻松地检测到文件的更改,而不必扫描整个文件系统。这样可以节省备份所需的时间和系统资源,特别是在大型文件系统中,因为只有修改过的页面需要备份。
  2. 降低网络流量: 通过仅传输发生更改的页面或数据块,增量备份可以减少备份过程中传输的数据量。这对于远程备份或者需要跨网络进行备份的情况尤为重要,可以降低网络流量成本和备份过程中的延迟。
  3. 更快的恢复速度: 当需要恢复数据时,使用增量备份可以使恢复过程更加高效。因为只有最新更改的数据需要被还原,所以恢复速度更快。
  4. 减少存储空间需求: 由于增量备份只存储更改的数据,相比于完整备份,可以节省大量的存储空间。这对于需要频繁备份或者存储成本较高的环境尤为重要。
  5. 更好的版本控制和历史记录管理: 增量备份可以提供更好的版本控制,因为每次备份都只包含自上次备份以来的更改。这使得管理历史备份和查找特定版本的文件更加方便。

注意:如果增量备份使用200GB,xtrabackup可以使用额外的100MB来处理和存储页面跟踪数据,如果没有足够的可用容量来处理此列表,该过程将引发错误并退出。

安装组件

mysql -u root -p
INSTALL COMPONENT "file://component_mysqlbackup";
#查看组件是否安装成功
SELECT COUNT(1) FROM mysql.component WHERE component_urn='file://component_mysqlbackup';

启用页面跟踪

SELECT mysqlbackup_page_track_set(true);
SELECT mysqlbackup_page_track_get_start_lsn();
#检查页面跟踪开始的LSN值

备份

创建一个最低权限的数据库用户

CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 's3cr%T';
GRANT BACKUP_ADMIN, PROCESS, RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost';
GRANT SELECT ON performance_schema.log_status TO 'bkpuser'@'localhost';
GRANT SELECT ON performance_schema.keyring_component_status TO bkpuser@'localhost';
GRANT SELECT ON performance_schema.replication_group_members TO bkpuser@'localhost';
FLUSH PRIVILEGES;

使用页面跟踪进行完全备份

mkdir -p /data/backups/
xtrabackup --backup --page-tracking \
--target-dir=/data/backups/base \
--user=bkpuser --password=s3cr%T

使用页面跟踪进行增量备份

xtrabackup --backup --page-tracking \
--target-dir=/data/backups/inc1 \
--incremental-basedir=/data/backups/base \
--user=bkpuser --password=s3cr%T

恢复

准备完全备份

xtrabackup --prepare --apply-log-only --target-dir=/data/backups/base

准备第一次增量备份

xtrabackup --prepare  --target-dir=/data/backups/base \
--incremental-dir=/data/backups/inc1

停止服务,转移原数据目录

systemctl stop mysql
mkdir /tmp/mysqlbak
mv /var/lib/mysql/* /tmp/mysqlbak/

恢复备份

xtrabackup --copy-back --target-dir=/data/backups/base --datadir=/var/lib/mysql

恢复文件权限

chown -R mysql:mysql /var/lib/mysql

启动服务

systemctl start mysql

停止页面跟踪

SELECT mysqlbackup_page_track_set(false);

清除页面跟踪数据

注意:如果清除页面跟踪数据,则应随后创建完整备份

SELECT mysqlbackup_page_track_set(false);
SELECT mysqlbackup_page_track_purge_up_to(LSN值);
SELECT mysqlbackup_page_track_set(true);

卸载组件

UNINSTALL COMPONENT "file://component_mysqlbackup"
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!