xtrabackup备份

xtrabackup云安装

【前置知识】

官网链接https://docs.percona.com/percona-xtrabackup/8.0/prepare-incremental-backup.html
前置:xtrabackup 在对mysql8.0版本进行备份的时候时候选择对应的版本
如 mysql8.0.27 xtrabackup8.0.27
工作原理(简述):首先该工具是基于innodb存储引擎的一款物理复制工具,做进行备份操作时只拷贝数据文件不影响数据的基本运行。在Xtrabackup开始备份的时候会记录当前检查点的LSN,对于LSN即代表的是日志序列号,在innodb中LSN占用8字节,呈单调递增。LSN表示事务写入重做日志的总量其单位为字节,例如当前LSN为500事务A写入了100字节的重做日志缓冲,那么当前LSN就变为了600。LSN不仅仅存在于重做日志中还存在于每个页中,在页中LSN表示该页最后刷新时LSN的大小。因此页中的LSN可以用来判断是否需要进行恢复操作。
例如:P1页LSN为10000,数据库启动时,innodb检测到重做日志中的LSN为13000并且事务已经提交,那么数据库需要进行恢复操作,将重做日志应用到P1页中,同样的对于重做日志中LSN小于P1的页面则不需要重做。

容器镜像

docker pull percona/percona-xtrabackup:8.0.27  -- 拉取最新的镜像

创建全量备份

docker run -e TZ=Asia/Shanghai -- 设置容器的时区为亚洲/上海时区。
--name quanbei1                -- 为容器指定名称
--volumes-from my              -- 将容器 my 的所有数据卷(volumes)挂载到当前容器中
-v /home/backup:/backup        -- 将宿主机上的 /home/backup 目录挂载到容器内的 /backup 目录
--network host percona/percona-xtrabackup:8.0.27  -- 宿主机网络共享以及容器镜像
xtrabackup -- 容器中执行 xtrabackup 命令
--backup 					   -- 进行备份操作
--datadir=/var/lib/mysql       -- 备份的 MySQL 数据目录
--target-dir=/backup   		   -- 备份文件的目标目录,这里是容器内的 /backup 目录
--user=root             	   -- 用户
--password=123456      		   -- 密码
--port=3306   			       -- 端口
--host=192.168.184.136   	   -- 主机
--no-server-version-check      -- 不进行服务器版本检查

-- 《复制命令专供COPY》
docker run -e TZ=Asia/Shanghai --name quanbei  --volumes-from my -v /home/backup:/backup  --network  host percona/percona-xtrabackup:8.0.27 xtrabackup --backup --datadir=/var/lib/mysql --target-dir=/backup --user=root --password=123456 --port=3306 --host=192.168.184.136 --no-server-version-check

上述命令执行成功之后,会打印如下的日志信息并在宿主机目录/home/backup下生成备份的数据,打印日志内容包含了当前的备份配置信息、xtrabackup以及mysql版本信息、innodb的基本配置信息、连接池信息、主机信息、重写日志以及系统表空间和(innodb_file_per_table)基础表空间的复制记录信息等等。
**重点:最后完成复制操作后会打印如下 **

xtrabackup: Transaction log of lsn (30380824) to (30380854) was copied.

表示复制了从日志序列号(LSN)30380824到30380854之间的事务日志。这意味着备份中所包含的数据文件可以与该范围内的事务日志进行关联,从而进行数据恢复时能够保持一致性。

恢复全量备份

准备全量备份

准备基础备份需要先创建全量备份再进行准备,执行准备操作并且应用日志而不执行回滚操作。命令中新增了两个参数–prepare 和 --apply-log-only 命令中的–prepare参数表示执行备份的准备操作,它会创建一个使用备份数据的新事务日志副本,并将其保存在指定的目录(/data/backups/base)中。准备操作是为了确保恢复过程中的数据一致性和完整性。而–apply-log-only参数表示只应用日志而不执行回滚操作。这个参数告诉xtrabackup工具在备份目录中应用预备工作目录中的日志文件,而不进行数据库的完全恢复。这样做的目的是为了保持备份文件的一致性,并且方便后续进行增量备份还原或者其他操作。

docker run -e TZ=Asia/Shanghai -- 设置容器的时区为亚洲/上海时区。
--name quan3                   -- 为容器指定名称
--volumes-from my              -- 将容器 my 的所有数据卷(volumes)挂载到当前容器中
-v /home/backup:/backup        -- 将宿主机上的 /home/backup 目录挂载到容器内的 /backup 目录
--network host percona/percona-xtrabackup:8.0.27  -- 宿主机网络共享以及容器镜像
xtrabackup -- 容器中执行 xtrabackup 命令
--backup 					   -- 进行备份操作
--prepare                      -- 执行备份预处理,将创建一个使用备份数据的新事务日志副本,并将其保存在预备工作目录中
--apply-log-only               -- 日志应用操作,会在备份目录中应用预备工作目录中的日志文件,而不进行数据库完全恢复
--datadir=/var/lib/mysql       -- 备份的 MySQL 数据目录
--target-dir=/backup   		   -- 备份文件的目标目录,这里是容器内的 /backup 目录
--user=root             	   -- 用户
--password=123456      		   -- 密码
--port=3306   			       -- 端口
--host=192.168.184.136   	   -- 主机
--no-server-version-check      -- 不进行服务器版本检查

docker run -e TZ=Asia/Shanghai --name quan3  --volumes-from my -v /home/backup:/backup  --network  host percona/percona-xtrabackup:8.0.27 xtrabackup  --datadir=/var/lib/mysql --prepare --apply-log-only --target-dir=/backup --user=root --password=123456 --port=3306 --host=192.168.184.136 --no-server-version-check 

恢复全量备份

恢复备份 加上–copy-back 参数即将备份文件恢复到MYSQL服务器数据目录中去。需要保证数据目录是空的。

docker run -e TZ=Asia/Shanghai -- 设置容器的时区为亚洲/上海时区。
--name quan10          				 -- 为容器指定名称
--volumes-from my     				 -- 将容器 my 的所有数据卷(volumes)挂载到当前容器中
-v /home/backup:/backup        -- 将宿主机上的 /home/backup 目录挂载到容器内的 /backup 目录
--network host percona/percona-xtrabackup:8.0.27  -- 宿主机网络共享以及容器镜像
xtrabackup -- 容器中执行 xtrabackup 命令
--copy-back                    -- 备份文件重新复制到 MySQL 服务器的数据目录中(/var/lib/mysql)
--datadir=/var/lib/mysql       -- 备份的 MySQL 数据目录
--target-dir=/backup   		   -- 备份文件的目标目录,这里是容器内的 /backup 目录
--user=root             	   -- 用户
--password=123456      	       -- 密码
--port=3306   			       - 端口
--host=192.168.184.136   	   - 主机
--no-server-version-check      -- 不进行服务器版本检查

-- 《复制命令专供COPY》
docker run -e TZ=Asia/Shanghai --name quan10  --volumes-from my -v /home/backup:/backup  --network  host percona/percona-xtrabackup:8.0.27 xtrabackup  --datadir=/var/lib/mysql  --copy-back --target-dir=/backup --user=root --password=123456 --port=3306 --host=192.168.184.136 --no-server-version-check 

创建增量备份

增量备份,顾名思义用来复制自上次以来更改的所有数据,增量备份的工作是依靠innodb页包含的一个日志序列号来工作,每次复制LSN比上一次增备或全备记录的LSN。

docker run -e TZ=Asia/Shanghai -- 设置容器的时区为亚洲/上海时区。
--name xtraBackup2352          -- 为容器指定名称
--volumes-from my121118880     -- 将容器 my121118880 的所有数据卷(volumes)挂载到当前容器中
-v /home/backup:/backup        -- 将宿主机上的 /home/backup 目录挂载到容器内的 /backup 目录
-v /home/back1:/back1 		   -- 将宿主机上的 /home/back1 目录挂载到容器内的 /back1 目录
--network host percona/percona-xtrabackup:8.0.27  -- 宿主机网络共享以及容器镜像
xtrabackup 				       -- 容器中执行 xtrabackup 命令
--backup 					   -- 进行备份操作
--datadir=/var/lib/mysql       -- 备份的 MySQL 数据目录
--target-dir=/back1   		   -- 备份文件的目标目录,这里是容器内的 /backup 目录
--incremental-basedir=/backup  -- 指定增量备份所基于的完全备份的路径
--user=root             	   -- 用户
--password=123456      		   -- 密码
--port=3306   			       -- 端口
--host=192.168.184.136   	   -- 主机
--no-server-version-check      -- 不进行服务器版本检查

-- 《复制命令专供COPY》
docker run -e TZ=Asia/Shanghai --name 111ez9111y2 --volumes-from my123987 -v /home/backup:/backup  -v /home/back1:/back1  --network host percona/percona-xtrabackup:8.0.27 xtrabackup --backup --datadir=/var/lib/mysql --target-dir=/back1 --incremental-basedir=/backup --user=root --password=123456 --port=3306 --host=192.168.184.136 --no-server-version-check 

以下是本次执行增量备份打印的日志信息

xtrabackup: recognized server arguments: --datadir=/var/lib/mysql 
xtrabackup: recognized client arguments: --backup=1 --target-dir=/back1 --incremental-basedir=/backup --user=root --password=* --port=3306 --host=192.168.184.136 
xtrabackup version 8.0.14 based on MySQL server 8.0.21 Linux (x86_64) (revision id: 113f3d7)
xtrabackup: perl binary not found. Skipping the version check
230716 17:32:08 Connecting to MySQL server host: 192.168.184.136, user: root, password: set, port: 3306, socket: not set
Using server version 8.0.27
incremental backup from 30380824 is enabled.
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /var/lib/mysql
xtrabackup: open files limit requested 0, set to 1048576
xtrabackup: using the following InnoDB configuration:
xtrabackup:   innodb_data_home_dir = .
xtrabackup:   innodb_data_file_path = ibdata1:12M:autoextend
xtrabackup:   innodb_log_group_home_dir = ./
xtrabackup:   innodb_log_files_in_group = 2
xtrabackup:   innodb_log_file_size = 50331648
Number of pools: 1
WARNING: unknown option --no-server-version-check
230716 17:32:08 Connecting to MySQL server host: 192.168.184.136, user: root, password: set, port: 3306, socket: not set
230716 17:32:08 >> log scanned up to (30381358)
xtrabackup: Redo Log Archiving is not set up.
xtrabackup: Generating a list of tablespaces
xtrabackup: Generating a list of tablespaces
Scanning './'
Completed space ID check of 2 files.
Allocated tablespace ID 6 for drug/sutdent, old maximum was 0
Using undo tablespace './undo_001'.
Using undo tablespace './undo_002'.
Opened 2 existing undo tablespaces.
xtrabackup: using the full scan for incremental backup
230716 17:32:09 >> log scanned up to (30381358)
230716 17:32:10 [01] Copying ./ibdata1 to /back1/ibdata1.delta
230716 17:32:10 [01]        ...done
230716 17:32:10 [01] Copying ./sys/sys_config.ibd to /back1/sys/sys_config.ibd.delta
230716 17:32:10 [01]        ...done
230716 17:32:10 [01] Copying ./drug/sutdent.ibd to /back1/drug/sutdent.ibd.delta
230716 17:32:10 [01]        ...done
230716 17:32:10 [01] Copying ./drug/testA.ibd to /back1/drug/testA.ibd.delta
230716 17:32:10 [01]        ...done
230716 17:32:10 [01] Copying ./mysql.ibd to /back1/mysql.ibd.delta
230716 17:32:10 [01]        ...done
230716 17:32:10 [01] Copying ./undo_002 to /back1/undo_002.delta
230716 17:32:10 [01]        ...done
230716 17:32:10 [01] Copying ./undo_001 to /back1/undo_001.delta
230716 17:32:10 [01]        ...done
230716 17:32:10 >> log scanned up to (30381358)
230716 17:32:11 Starting to backup non-InnoDB tables and files
230716 17:32:11 [01] Copying mysql/general_log_213.sdi to /back1/mysql/general_log_213.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying mysql/general_log.CSM to /back1/mysql/general_log.CSM
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying mysql/general_log.CSV to /back1/mysql/general_log.CSV
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying mysql/slow_log_214.sdi to /back1/mysql/slow_log_214.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying mysql/slow_log.CSM to /back1/mysql/slow_log.CSM
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying mysql/slow_log.CSV to /back1/mysql/slow_log.CSV
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/cond_instances_82.sdi to /back1/performance_schema/cond_instances_82.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/error_log_83.sdi to /back1/performance_schema/error_log_83.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_waits_cur_84.sdi to /back1/performance_schema/events_waits_cur_84.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_waits_his_85.sdi to /back1/performance_schema/events_waits_his_85.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_waits_his_86.sdi to /back1/performance_schema/events_waits_his_86.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_waits_sum_87.sdi to /back1/performance_schema/events_waits_sum_87.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_waits_sum_88.sdi to /back1/performance_schema/events_waits_sum_88.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_waits_sum_89.sdi to /back1/performance_schema/events_waits_sum_89.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_waits_sum_90.sdi to /back1/performance_schema/events_waits_sum_90.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_waits_sum_91.sdi to /back1/performance_schema/events_waits_sum_91.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_waits_sum_92.sdi to /back1/performance_schema/events_waits_sum_92.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/file_instances_93.sdi to /back1/performance_schema/file_instances_93.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/file_summary_by__94.sdi to /back1/performance_schema/file_summary_by__94.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/file_summary_by__95.sdi to /back1/performance_schema/file_summary_by__95.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/host_cache_96.sdi to /back1/performance_schema/host_cache_96.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/mutex_instances_97.sdi to /back1/performance_schema/mutex_instances_97.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/objects_summary__98.sdi to /back1/performance_schema/objects_summary__98.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/performance_time_99.sdi to /back1/performance_schema/performance_time_99.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/processlist_100.sdi to /back1/performance_schema/processlist_100.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/rwlock_instances_101.sdi to /back1/performance_schema/rwlock_instances_101.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/setup_actors_102.sdi to /back1/performance_schema/setup_actors_102.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/setup_consumers_103.sdi to /back1/performance_schema/setup_consumers_103.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/setup_instrument_104.sdi to /back1/performance_schema/setup_instrument_104.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/setup_objects_105.sdi to /back1/performance_schema/setup_objects_105.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/setup_threads_106.sdi to /back1/performance_schema/setup_threads_106.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/table_io_waits_s_107.sdi to /back1/performance_schema/table_io_waits_s_107.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/table_io_waits_s_108.sdi to /back1/performance_schema/table_io_waits_s_108.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/table_lock_waits_109.sdi to /back1/performance_schema/table_lock_waits_109.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/threads_110.sdi to /back1/performance_schema/threads_110.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_stages_cu_111.sdi to /back1/performance_schema/events_stages_cu_111.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_stages_hi_112.sdi to /back1/performance_schema/events_stages_hi_112.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_stages_hi_113.sdi to /back1/performance_schema/events_stages_hi_113.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_stages_su_114.sdi to /back1/performance_schema/events_stages_su_114.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_stages_su_115.sdi to /back1/performance_schema/events_stages_su_115.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_stages_su_116.sdi to /back1/performance_schema/events_stages_su_116.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_stages_su_117.sdi to /back1/performance_schema/events_stages_su_117.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_stages_su_118.sdi to /back1/performance_schema/events_stages_su_118.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_statement_119.sdi to /back1/performance_schema/events_statement_119.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_statement_120.sdi to /back1/performance_schema/events_statement_120.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_statement_121.sdi to /back1/performance_schema/events_statement_121.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_statement_122.sdi to /back1/performance_schema/events_statement_122.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_statement_123.sdi to /back1/performance_schema/events_statement_123.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_statement_124.sdi to /back1/performance_schema/events_statement_124.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_statement_125.sdi to /back1/performance_schema/events_statement_125.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_statement_126.sdi to /back1/performance_schema/events_statement_126.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_statement_127.sdi to /back1/performance_schema/events_statement_127.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_statement_128.sdi to /back1/performance_schema/events_statement_128.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_statement_129.sdi to /back1/performance_schema/events_statement_129.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_statement_130.sdi to /back1/performance_schema/events_statement_130.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_transacti_131.sdi to /back1/performance_schema/events_transacti_131.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_transacti_132.sdi to /back1/performance_schema/events_transacti_132.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_transacti_133.sdi to /back1/performance_schema/events_transacti_133.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_transacti_134.sdi to /back1/performance_schema/events_transacti_134.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_transacti_135.sdi to /back1/performance_schema/events_transacti_135.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_transacti_136.sdi to /back1/performance_schema/events_transacti_136.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_transacti_137.sdi to /back1/performance_schema/events_transacti_137.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_transacti_138.sdi to /back1/performance_schema/events_transacti_138.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_errors_su_139.sdi to /back1/performance_schema/events_errors_su_139.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_errors_su_140.sdi to /back1/performance_schema/events_errors_su_140.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_errors_su_141.sdi to /back1/performance_schema/events_errors_su_141.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_errors_su_142.sdi to /back1/performance_schema/events_errors_su_142.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/events_errors_su_143.sdi to /back1/performance_schema/events_errors_su_143.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/users_144.sdi to /back1/performance_schema/users_144.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/accounts_145.sdi to /back1/performance_schema/accounts_145.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/hosts_146.sdi to /back1/performance_schema/hosts_146.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/socket_instances_147.sdi to /back1/performance_schema/socket_instances_147.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/socket_summary_b_148.sdi to /back1/performance_schema/socket_summary_b_148.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/socket_summary_b_149.sdi to /back1/performance_schema/socket_summary_b_149.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/session_connect__150.sdi to /back1/performance_schema/session_connect__150.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/session_account__151.sdi to /back1/performance_schema/session_account__151.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/keyring_keys_152.sdi to /back1/performance_schema/keyring_keys_152.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/memory_summary_g_153.sdi to /back1/performance_schema/memory_summary_g_153.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/memory_summary_b_154.sdi to /back1/performance_schema/memory_summary_b_154.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/memory_summary_b_155.sdi to /back1/performance_schema/memory_summary_b_155.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/memory_summary_b_156.sdi to /back1/performance_schema/memory_summary_b_156.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/memory_summary_b_157.sdi to /back1/performance_schema/memory_summary_b_157.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/table_handles_158.sdi to /back1/performance_schema/table_handles_158.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/metadata_locks_159.sdi to /back1/performance_schema/metadata_locks_159.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/data_locks_160.sdi to /back1/performance_schema/data_locks_160.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/data_lock_waits_161.sdi to /back1/performance_schema/data_lock_waits_161.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/replication_conn_162.sdi to /back1/performance_schema/replication_conn_162.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/replication_grou_163.sdi to /back1/performance_schema/replication_grou_163.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/replication_conn_164.sdi to /back1/performance_schema/replication_conn_164.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/replication_appl_165.sdi to /back1/performance_schema/replication_appl_165.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/replication_appl_166.sdi to /back1/performance_schema/replication_appl_166.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/replication_appl_167.sdi to /back1/performance_schema/replication_appl_167.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/replication_appl_168.sdi to /back1/performance_schema/replication_appl_168.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/replication_grou_169.sdi to /back1/performance_schema/replication_grou_169.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/replication_appl_170.sdi to /back1/performance_schema/replication_appl_170.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/replication_appl_171.sdi to /back1/performance_schema/replication_appl_171.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/replication_asyn_172.sdi to /back1/performance_schema/replication_asyn_172.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/replication_asyn_173.sdi to /back1/performance_schema/replication_asyn_173.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/log_status_174.sdi to /back1/performance_schema/log_status_174.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/prepared_stateme_175.sdi to /back1/performance_schema/prepared_stateme_175.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/user_variables_b_176.sdi to /back1/performance_schema/user_variables_b_176.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/status_by_accoun_177.sdi to /back1/performance_schema/status_by_accoun_177.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/status_by_host_178.sdi to /back1/performance_schema/status_by_host_178.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/status_by_thread_179.sdi to /back1/performance_schema/status_by_thread_179.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/status_by_user_180.sdi to /back1/performance_schema/status_by_user_180.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/global_status_181.sdi to /back1/performance_schema/global_status_181.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/session_status_182.sdi to /back1/performance_schema/session_status_182.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/variables_by_thr_183.sdi to /back1/performance_schema/variables_by_thr_183.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/global_variables_184.sdi to /back1/performance_schema/global_variables_184.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/session_variable_185.sdi to /back1/performance_schema/session_variable_185.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/variables_info_186.sdi to /back1/performance_schema/variables_info_186.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/persisted_variab_187.sdi to /back1/performance_schema/persisted_variab_187.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/user_defined_fun_188.sdi to /back1/performance_schema/user_defined_fun_188.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/binary_log_trans_189.sdi to /back1/performance_schema/binary_log_trans_189.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/tls_channel_stat_190.sdi to /back1/performance_schema/tls_channel_stat_190.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 [01] Copying performance_schema/keyring_componen_191.sdi to /back1/performance_schema/keyring_componen_191.sdi
230716 17:32:11 [01]        ...done
230716 17:32:11 Finished backing up non-InnoDB tables and files
230716 17:32:11 Executing FLUSH NO_WRITE_TO_BINLOG BINARY LOGS
230716 17:32:11 Selecting LSN and binary log position from p_s.log_status
230716 17:32:11 [00] Copying /var/lib/mysql/binlog.000045 to /back1/binlog.000045 up to position 156
230716 17:32:11 [00]        ...done
230716 17:32:11 [00] Writing /back1/binlog.index
230716 17:32:11 [00]        ...done
230716 17:32:11 [00] Writing /back1/xtrabackup_binlog_info
230716 17:32:11 [00]        ...done
230716 17:32:11 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
xtrabackup: The latest check point (for incremental): '30381358'
xtrabackup: Stopping log copying thread at LSN 30381368.
230716 17:32:11 >> log scanned up to (30381378)
Starting to parse redo log at lsn = 30381235

230716 17:32:12 All tables unlocked
230716 17:32:12 [00] Copying ib_buffer_pool to /back1/ib_buffer_pool
230716 17:32:12 [00]        ...done
230716 17:32:12 Backup created in directory '/back1/'
MySQL binlog position: filename 'binlog.000045', position '156'
230716 17:32:12 [00] Writing /back1/backup-my.cnf
230716 17:32:12 [00]        ...done
230716 17:32:12 [00] Writing /back1/xtrabackup_info
230716 17:32:12 [00]        ...done
xtrabackup: Transaction log of lsn (30381358) to (30381388) was copied.
230716 17:32:13 completed OK!

因为备份的需要,我们需要执行很多次的增量备份,只需要基于上一次增量备份路径来做增量备份。

--incremental-basedir=/back1  -- 指定增量备份所基于的上一次增量备份数据的路径

恢复增量备份

准备增量备份

在准备基本的备份之前需要运行如下命令来准备基础需要应用增量备份的基础备份文件

docker run -e TZ=Asia/Shanghai -- 设置容器的时区为亚洲/上海时区。
--name 1111ez29111y2          -- 为容器指定名称
--volumes-from my123987     -- 将容器 my123987 的所有数据卷(volumes)挂载到当前容器中
-v /home/backup:/backup        -- 将宿主机上的 /home/backup 目录挂载到容器内的 /backup 目录
-v /home/back1:/back1 				 -- 将宿主机上的 /home/back1 目录挂载到容器内的 /back1 目录
--network host percona/percona-xtrabackup:8.0.27  -- 宿主机网络共享以及容器镜像
xtrabackup 									   -- 容器中执行 xtrabackup 命令
--prepare                      -- 执行备份预处理,将创建一个使用备份数据的新事务日志副本,并将其保存在预备工作目录中
--apply-log-only               -- 日志应用操作,会在备份目录中应用预备工作目录中的日志文件,而不进行数据库完全恢复
--target-dir=/backup   				 -- 备份文件的目标目录,这里是容器内的 /backup 目录
--user=root             			 -- 用户
--password=123456      				 -- 密码
--port=3306   			    			 -- 端口
--host=192.168.184.136   			 -- 主机
--no-server-version-check      -- 不进行服务器版本检查

-- 《复制命令专供COPY》
docker run -e TZ=Asia/Shanghai --name 1111ez29111y2 --volumes-from my123987 -v /home/backup:/backup  -v /home/back1:/back1  --network host percona/percona-xtrabackup:8.0.27 xtrabackup --prepare --apply-log-only --target-dir=/backup  --user=root --password=123456 --port=3306 --host=192.168.184.136 --no-server-version-check 

将第一个增量备份应用于完整备份文件上

docker run -e TZ=Asia/Shanghai -- 设置容器的时区为亚洲/上海时区。
--name 1111ez29111y2          -- 为容器指定名称
--volumes-from my123987     -- 将容器 my123987 的所有数据卷(volumes)挂载到当前容器中
-v /home/backup:/backup        -- 将宿主机上的 /home/backup 目录挂载到容器内的 /backup 目录
-v /home/back1:/back1 				 -- 将宿主机上的 /home/back1 目录挂载到容器内的 /back1 目录
--network host percona/percona-xtrabackup:8.0.27  -- 宿主机网络共享以及容器镜像
xtrabackup 									   -- 容器中执行 xtrabackup 命令
--prepare                      -- 执行备份预处理,将创建一个使用备份数据的新事务日志副本,并将其保存在预备工作目录中
--apply-log-only               -- 日志应用操作,会在备份目录中应用预备工作目录中的日志文件,而不进行数据库完全恢复
--target-dir=/backup   				 -- 备份文件的目标目录,这里是容器内的 /backup 目录
--incremental-dir=/back1       -- 
--user=root             			 -- 用户
--password=123456      				 -- 密码
--port=3306   			    			 -- 端口
--host=192.168.184.136   			 -- 主机
--no-server-version-check      -- 不进行服务器版本检查

-- 《复制命令专供COPY》
docker run -e TZ=Asia/Shanghai --name 111ez92111y2 --volumes-from my123987 -v /home/backup:/backup  -v /home/back1:/back1  --network host percona/percona-xtrabackup:8.0.27 xtrabackup --prepare --apply-log-only --target-dir=/backup --incremental-dir=/back1 --user=root --password=123456 --port=3306 --host=192.168.184.136 --no-server-version-check 

恢复增量备份

恢复备份 加上–copy-back 参数即将备份文件恢复到MYSQL服务器数据目录中去。需要保证数据目录是空的。

docker run -e TZ=Asia/Shanghai -- 设置容器的时区为亚洲/上海时区。
--name quan10          				 -- 为容器指定名称
--volumes-from my     				 -- 将容器 my 的所有数据卷(volumes)挂载到当前容器中
-v /home/backup:/backup        -- 将宿主机上的 /home/backup 目录挂载到容器内的 /backup 目录
--network host percona/percona-xtrabackup:8.0.27  -- 宿主机网络共享以及容器镜像
xtrabackup -- 容器中执行 xtrabackup 命令
--copy-back                    -- 备份文件重新复制到 MySQL 服务器的数据目录中(/var/lib/mysql)
--datadir=/var/lib/mysql       -- 备份的 MySQL 数据目录
--target-dir=/backup   				 -- 备份文件的目标目录,这里是容器内的 /backup 目录
--user=root             			 -- 用户
--password=123456      				 -- 密码
--port=3306   			    			 -- 端口
--host=192.168.184.136   			 -- 主机
--no-server-version-check      -- 不进行服务器版本检查

-- 《复制命令专供COPY》
docker run -e TZ=Asia/Shanghai --name 111e1z912111y2 --volumes-from my123987 -v /home/backup:/backup   --network host percona/percona-xtrabackup:8.0.27 xtrabackup --datadir=/var/lib/mysql --copy-back  --target-dir=/backup --user=root --password=123456 --port=3306 --host=192.168.184.136 --no-server-version-check 

压缩备份

docker run -e TZ=Asia/Shanghai -- 设置容器的时区为亚洲/上海时区。
--name xtraBackup2352          -- 为容器指定名称
--volumes-from my121118880     -- 将容器 my121118880 的所有数据卷(volumes)挂载到当前容器中
-v /home/backup:/backup        -- 将宿主机上的 /home/backup 目录挂载到容器内的 /backup 目录
-v /home/back1:/back1 				 -- 将宿主机上的 /home/back1 目录挂载到容器内的 /back1 目录
-v /home/back2:/back2 				 -- 将宿主机上的 /home/back2 目录挂载到容器内的 /back2 目录
--network host percona/percona-xtrabackup:8.0.27  -- 宿主机网络共享以及容器镜像
xtrabackup 									   -- 容器中执行 xtrabackup 命令
--backup 											 -- 进行备份操作
--datadir=/var/lib/mysql       -- 备份的 MySQL 数据目录
--target-dir=/back2  				 -- 备份文件的目标目录,这里是容器内的 /backup 目录
--incremental-basedir=/back1  -- 指定增量备份所基于的完全备份的路径
--user=root             			 -- 用户
--password=123456      				 -- 密码
--port=3306   			    			 -- 端口
--host=192.168.184.136   			 -- 主机
--no-server-version-check      -- 不进行服务器版本检查

--compress      						   -- 对文件进行压缩
--compress-threads=4					 -- 使用N个工作线程进行压缩

-- 《复制命令专供COPY》
docker run -e TZ=Asia/Shanghai --name xtraBackup1121233 --volumes-from my121118880 -v /home/backup:/backup  -v /home/back1:/back1 -v /home/back2:/back2 -v /home/back3:/back3  --network host percona/percona-xtrabackup:8.0.27 xtrabackup --backup --datadir=/var/lib/mysql --target-dir=/back3 --incremental-basedir=/back2 --user=root --password=123456 --port=3306 --host=192.168.184.136 --no-server-version-check --compress --compress-threads=4

解压文件

docker run -e TZ=Asia/Shanghai -- 设置容器的时区为亚洲/上海时区。
--name xtraBackup2352          -- 为容器指定名称
--volumes-from my121118880     -- 将容器 my121118880 的所有数据卷(volumes)挂载到当前容器中
-v /home/back3:/back3 				 -- 将宿主机上的 /home/back3 目录挂载到容器内的 /back3 目录
--network host percona/percona-xtrabackup:8.0.27  -- 宿主机网络共享以及容器镜像
xtrabackup 									   -- 容器中执行 xtrabackup 命令

--target-dir=/back3  				   -- 解压后存放备份文件的目标目录
--backup-dir=/bei              -- 原始压缩文件备份文件目录

--user=root             			 -- 用户
--password=123456      				 -- 密码
--port=3306   			    			 -- 端口
--host=192.168.184.136   			 -- 主机

-- 《复制命令专供COPY》
docker run -e TZ=Asia/Shanghai --name xtraBackup11212336 --volumes-from my121118880 -v /home/back3:/back3  --network host percona/percona-xtrabackup:8.0.27 xtrabackup   --target-dir=<目标目录> --backup-dir=<备份文件目录>  --user=root --password=123456 --port=3306 --host=192.168.184.136 --decompress 

xtrabackup场景实验

待更新各种场景下的备份情况…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李济号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值