【问题标题】:mariabackup single table backupmariabackup 单表备份
【发布时间】:2023-02-26 19:11:53
【问题描述】:

我正在尝试使用 mariabackup 作为 mysqldump 的替代品。在尝试从特定数据库备份单个表时,我遇到了一些奇怪的结果。

使用的文档; https://mariadb.com/kb/en/partial-backup-and-restore-with-mariabackup/

我的设置包含三个数据库 - employees、employees_2 和 test_3。在这些DB中,有相同的表,数据等。换句话说,有相同的数据是从https://github.com/datacharmer/test_db下载的。

根据文档,我正在使用以下命令;

mariabackup --backup --target-dir=/var/tmp/test3_salaries_backup --database='test_3' --tables='salaries' --user=admin --password=password

预期:在表的 .ibd 和 .frm 中获得备份'薪水'从数据库'test_3'.

输出:

[01] 2022-08-17 13:02:03 Skipping mysql/transaction_registry.
[01] 2022-08-17 13:02:03 Skipping mysql/innodb_table_stats.
[01] 2022-08-17 13:02:03 Skipping mysql/innodb_index_stats.
[01] 2022-08-17 13:02:03 Skipping mysql/gtid_slave_pos.
[01] 2022-08-17 13:02:03 Skipping test_3/dept_emp.
[01] 2022-08-17 13:02:03 Skipping test_3/departments.
[01] 2022-08-17 13:02:03 Skipping test_3/employees.
[01] 2022-08-17 13:02:03 Skipping test_3/titles.
[01] 2022-08-17 13:02:03 Copying ./test_3/salaries.ibd to /var/tmp/test3_salaries_backup/test_3/salaries.ibd
[00] 2022-08-17 13:02:03 >> log scanned up to (1042997581)
[01] 2022-08-17 13:02:03         ...done
[01] 2022-08-17 13:02:03 Skipping test_3/dept_manager.
[01] 2022-08-17 13:02:03 Skipping employees/dept_emp.
[01] 2022-08-17 13:02:03 Skipping employees/departments.
[01] 2022-08-17 13:02:03 Skipping employees/employees.
[01] 2022-08-17 13:02:03 Skipping employees/titles.
[01] 2022-08-17 13:02:03 Copying ./employees/salaries.ibd to /var/tmp/test3_salaries_backup/employees/salaries.ibd
[00] 2022-08-17 13:02:04 >> log scanned up to (1042997581)
[00] 2022-08-17 13:02:05 >> log scanned up to (1042997581)
[01] 2022-08-17 13:02:05         ...done
[01] 2022-08-17 13:02:05 Skipping employees/dept_manager.
[01] 2022-08-17 13:02:05 Skipping employees_2/dept_emp.
[01] 2022-08-17 13:02:05 Skipping employees_2/departments.
[01] 2022-08-17 13:02:05 Skipping employees_2/employees.
[01] 2022-08-17 13:02:05 Skipping employees_2/titles.
[01] 2022-08-17 13:02:05 Copying ./employees_2/salaries.ibd to /var/tmp/test3_salaries_backup/employees_2/salaries.ibd

但是,正在发生的事情是该命令不只是转到 DB test_3 并复制表。它正在从所有数据库中复制表,即使我从上面的输出中可以看出特别指定了 test_3。

【问题讨论】:

    标签: mysql mariadb


    【解决方案1】:

    通过使用命令并将其修改为:设法解决此问题:

    mariabackup --backup --target-dir=/var/tmp/test3_salaries_backup --database='test_3' --databases-exclude='employees employees_2' --tables='salaries' --user=admin --password=password

    【讨论】:

      【解决方案2】:

      我认为您不需要排除数据库。你只是在你的第一个命令中有一个错字……--database应该是--databases

      由于拼写错误是silently ignored,它没有产生错误,但您的命令只是包含所有数据库,因为它忽略了未知的--database选项

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-30
        • 1970-01-01
        • 2019-07-28
        • 1970-01-01
        • 2010-10-15
        • 2014-08-30
        • 1970-01-01
        • 2010-10-05
        相关资源
        最近更新 更多