mariadb-backup (restore) 基础问题——需要备份哪些数据库,以及多个独立数据库的正确还原程序/顺序是什么?

问题描述

我正在运行 MariaDB 10.5 服务器。

我创建了 2 个测试数据库

mariadb -e "show databases;"
    +----------------------------+
    | Database                   |
    +----------------------------+
    | information_schema         |
    | MysqL                      |
    | performance_schema         |
    | test1                      |
    | test2                      |
    +----------------------------+

我正在尝试直接了解我的工作,不需要备份即可完全恢复。

(1) 当我备份所有数据库

mariadb-backup --backup --target-dir="all"

我结束了

tree -L 1 all/
    all/
    ├── aria_log.00000001
    ├── aria_log_control
    ├── backup-my.cnf
    ├── ib_buffer_pool
    ├── ibdata1
    ├── ib_logfile0
    ├── MysqL/
    ├── performance_schema/
    ├── test1/
    ├── test2/
    ├── xtrabackup_binlog_info
    ├── xtrabackup_checkpoints
    └── xtrabackup_info

IIUC,我可以从这台完全恢复我的整个服务器,完整备份。 任何运行 MariaDB 的机器,但仅限于相同版本的 MariaDB 服务器。

正确吗?

(2) 在那个备份中,我没有得到“information_schema”,但是得到了“performance_schema”。不知道为什么。

是三个数据库中的每一个

information_schema
MysqL
performance_schema

需要恢复吗?我从在线帖子中收到了很多关于此的信息。并且在主文档中还没有找到“执行此操作”。

(3) 如果我单独备份 testDBs

mariadb-backup --backup --databases="test1" --target-dir="bkup1"
mariadb-backup --backup --databases="test2" --target-dir="bkup2"

我明白

tree -L 1 bkup1/ bkup2/

    bkup1/
    ├── aria_log.00000001
    ├── aria_log_control
    ├── backup-my.cnf
    ├── ib_buffer_pool
    ├── ibdata1
    ├── ib_logfile0
    ├── test1/
    ├── xtrabackup_binlog_info
    ├── xtrabackup_checkpoints
    └── xtrabackup_info

    bkup2/
    ├── aria_log.00000001
    ├── aria_log_control
    ├── backup-my.cnf
    ├── ib_buffer_pool
    ├── ibdata1
    ├── ib_logfile0
    ├── test2/
    ├── xtrabackup_binlog_info
    ├── xtrabackup_checkpoints
    └── xtrabackup_info

如果我要破坏原始服务器的数据,并从这两个恢复, 这还不足以重新启动和运行,对吗? 为此,我还需要 1 个或多个我在 (2) 中询问的 DB?

(4) 如果我进行了 2 个单独的备份,就像在 (3) 中一样,它们每个都包含

├── aria_log.00000001
├── aria_log_control
├── backup-my.cnf
├── ib_buffer_pool
├── ibdata1
├── ib_logfile0
├── xtrabackup_binlog_info
├── xtrabackup_checkpoints
└── xtrabackup_info

即使是相同的名字,如果它们在不同的时间被IIUC取用,它们的内容也可能不同。

如果我将“bkup1/”恢复到主服务器,它会覆盖服务器上的那些文件。 然后,如果我恢复“bkup2/”,它会再次覆盖服务器上的那些文件

恢复单独数据库备份的正确方法是什么,而不是最终破坏主服务器上所需的数据?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)