【发布时间】: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。
【问题讨论】: