xtrabackup 2.4 排除 某个 数据库 某个 表

xtrabackup 2.4 排除 某个 数据库 某个 表

xtrabackup version 2.4.26 based on MySQL server 5.7.35 Linux (x86_64) (revision id: 19de43b)

xtrabackup2.4选项参考
https://blog.youkuaiyun.com/weixin_34290390/article/details/93514244

如果你知道你想要备份的所有数据库名称,你可以使用 --databases 选项,并列出除了要排除的数据库之外的所有数据库。例如,如果你有两个数据库 db1 和 db2,而你想排除 db2,你可以这样做:

xtrabackup --backup --databases=db1 --target-dir=/path/to/backup

使用 --exclude 选项
如果你不确定所有数据库的名称,或者想要更灵活地指定哪些数据库被排除,可以使用 --exclude 选项。例如,要排除 db2 数据库:

xtrabackup --backup --exclude='db2/*' --target-dir=/path/to/backup

注意这里的路径模式 db2/* 是基于 XtraBackup 在备份时创建的目录结构。通常,每个数据库在备份目录中会有一个单独的目录。如果你使用的是较新版本的 XtraBackup 或有其他特定的文件系统布局,可能需要调整这个路径模式以正确指向你想要排除的数据库。

示例步骤
准备环境:确保你有足够的磁盘空间,并且已经安装了 Percona XtraBackup。

执行增量备份:根据你的需求选择使用 --databases 或 --exclude 选项。例如:

xtrabackup --backup --exclude='db2/*' --target-dir=/path/to/backup --incremental-basedir=/path/to/full-backup

在这里,/path/to/full-backup 是你的全备目录,这是增量备份的基础。

准备备份:增量备份完成后,你需要准备这个增量备份以便于恢复。这通常涉及到将增量备份应用到全备上。

xtrabackup --prepare --target-dir=/path/to/backup --incremental-dir=/path/to/incremental-backup

其中 /path/to/incremental-backup 是你的增量备份目录。

通过以上步骤,你可以在备份过程中排除特定的数据库。确保在执行任何备份或恢复操作前,你都详细检查了所有选项和路径,以避免数据丢失或损坏。

1

  --tables-exclude=name 
                      way as --tables, but matched names are excluded from
  --databases-exclude=name 
                      as --databases, but matched names are excluded from
tables-exclude                    (No default value)
databases-exclude                 (No default value)

2

xtrabackup 2.4 tables-exclude
xtrabackup 是一个由 Percona 开发的工具,用于备份和恢复 MySQL 或 MariaDB 数据库。它支持全备份和增量备份,并且可以与 Percona XtraDB Cluster (PXC) 或传统的 MySQL/MariaDB 数据库一起使用。

使用 xtrabackup 2.4 排除特定表
在 xtrabackup 中,你可以使用 --tables-exclude 选项来排除特定的表。这个选项允许你指定一个正则表达式,用于匹配并排除那些不应该被备份的表。

xtrabackup --backup --tables-exclude='正则表达式' --target-dir=备份目录

示例
假设你想备份所有数据库,但排除 testdb 数据库中的 test_table 表,你可以使用以下命令:

xtrabackup --backup --tables-exclude='^testdb\.test_table$' --target-dir=/path/to/backup

这里,^testdb.test_table$ 是一个正则表达式,它精确匹配 testdb 数据库中的 test_table 表。

注意点
正则表达式:确保你使用的正则表达式正确无误,以避免意外排除其他表。例如,如果你想排除多个表,可以使用 | 来分隔不同的表名或模式。

备份目录:确保指定的备份目录存在并且有足够的权限让 xtrabackup 写入数据。

性能影响:虽然排除特定表可以减少备份大小,但这也可能稍微影响备份的性能,因为 xtrabackup 需要额外处理排除逻辑。

恢复时注意:在恢复时,如果你使用了 --tables-exclude 选项排除了某些表,在恢复时也需要考虑这一点,确保不会丢失重要数据。

恢复包含排除表的备份
恢复包含排除表的备份时,你需要使用相同的 --tables-exclude 选项来确保那些被排除的表不会被错误地包含在恢复的数据中。例如:

xtrabackup --prepare --apply-log-only --target-dir=/path/to/backup
xtrabackup --copy-back --target-dir=/path/to/backup

确保在恢复过程中使用相同的正则表达式来正确处理被排除的表。

通过以上步骤,你可以有效地使用 xtrabackup 来备份和恢复 MySQL/MariaDB 数据库,同时排除特定的表。

6

https://www.cnblogs.com/hahaha111122222/p/18668742

  1. 全备份时排除指定表不备份
    –tables-exclude:用于指定需要排除那些表不进行备份,支持正则和扩展正则;
xtrabackup --backup --parallel=6 \
    --host="127.0.0.1" --user="root" --password="redhat" --port=3306 \
    --datadir="/var/lib/mysql" --target-dir="/backup/xtrabackup_full" \
    --tables-exclude='lct_net_manager\.tb_err_future_loc_20.*|lct_net_manager\.tb_heartbeat_data_20.*'
    
# 前面是库名,后面是表名
  1. 全备份时排除指定库不备份
    –databases-exclude:用于指定排除哪些数据库不备份
xtrabackup --backup --parallel=6 \
    --host="127.0.0.1" --user="root" --password="redhat" --port=3306 \
    --datadir="/var/lib/mysql" --target-dir="/backup/xtrabackup_full" \
    --databases-exclude='history'

7.

xtrabackup --tables-exclude 多个
在使用 Percona XtraBackup 进行数据库备份时,–tables-exclude 选项允许你指定要排除的表。这对于备份大型数据库时减少备份文件大小非常有用,尤其是当你只需要备份部分数据时。

使用 --tables-exclude 选项
你可以通过逗号分隔的方式指定多个表名进行排除。例如,如果你有一个名为 mydb 的数据库,并且想要排除 table1 和 table2,你可以使用以下命令:

xtrabackup --backup --datadir=/path/to/datadir --tables-exclude=mydb.table1,mydb.table2

排除整个数据库或模式
如果你想要排除整个数据库或者模式(schema),可以使用通配符。例如,要排除所有以 excluded_ 开头的表,可以这样做:

xtrabackup --backup --datadir=/path/to/datadir --tables-exclude='mydb.excluded_*'

排除多个模式或表
如果要排除多个模式或表,可以继续使用逗号分隔:

xtrabackup --backup --datadir=/path/to/datadir --tables-exclude='mydb.table1,mydb.table2,otherdb.table3'

注意点
格式和引号:确保在包含特殊字符(如点.或星号*)时使用引号(单引号或双引号),尤其是在 shell 命令行中。

精确性:确保表名和数据库名完全匹配,包括大小写(在某些系统上,MySQL 对标识符的大小写敏感)。

测试:在生产环境中应用之前,最好在测试环境中测试你的排除规则,以确保它们按预期工作。

性能:虽然排除特定表可以减少备份大小,但这也可能影响备份过程的性能,特别是当排除大量数据时。

示例
假设你有一个名为 company_db 的数据库,你想备份除了 employees 表和所有以 log_ 开头的表之外的所有表:

xtrabackup --backup --datadir=/path/to/datadir --tables-exclude='company_db.employees,company_db.log_*'

这样,employees 表和所有以 log_ 开头的表将被排除在备份之外。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值