Menu Close

2.6. 备份 MariaDB 数据

在 Red Hat Enterprise Linux 9 中从 MariaDB 数据库备份数据主要有两种方法:

  • 逻辑备份
  • 物理备份

逻辑备份 由恢复数据所需的 SQL 语句组成。这种类型的备份以纯文本文件的形式导出信息和记录。

与物理备份相比,逻辑备份的主要优势在于可移植性和灵活性。数据可以在其他硬件配置上恢复,MariaDB 版本或数据库管理系统(DBMS)上恢复,这些系统无法进行物理备份。

请注意,如果 mariadb.service 正在运行,则可以执行逻辑备份。逻辑备份不包括日志和配置文件。

物理备份由保存内容的文件和目录副本组成。

与逻辑备份相比,物理备份具有以下优点:

  • 输出更为紧凑。
  • 备份的大小会较小。
  • 备份和恢复速度更快。
  • 备份包括日志和配置文件。

请注意,当 mariadb.service 没有运行或者数据库中的所有表都被锁定以防止备份期间更改时,必须执行物理备份。

您可以使用以下一种 MariaDB 备份方法,来从 MariaDB 数据库备份数据:

  • 使用 mariadb-dump 的逻辑备份
  • 使用 Mariabackup 工具的物理在线备份
  • 文件系统备份
  • 作为备份解决方案复制

2.6.1. 使用 mariadb-dump 执行逻辑备份

mariadb-dump 客户端是一种备份实用程序,可用于转储数据库或数据库集合,用于备份或传输到其他数据库服务器。mariadb-dump 的输出通常由 SQL 语句组成,用于重新创建服务器表结构、生成表的数据。mariadb-dump 也可以以其他格式生成文件,包括 XML 和分隔的文本格式,如 CSV。

要执行 mariadb-dump 备份,您可以使用以下选项之一:

  • 备份一个或多个所选的数据库
  • 备份所有数据库
  • 从一个数据库备份表子集

流程

  • 要转储单个数据库,请运行:

    # mariadb-dump [options] --databases db_name > backup-file.sql
  • 要一次转储多个数据库,请运行:

    # mariadb-dump [options] --databases db_name1 [db_name2 …​] > backup-file.sql
  • 要转储所有数据库,请运行:

    # mariadb-dump [options] --all-databases > backup-file.sql
  • 要将一个或多个转储的完整数据库加载回服务器,请运行:

    # mariadb < backup-file.sql
  • 要将数据库加载到远程 MariaDB 服务器,请运行:

    # mariadb --host=remote_host < backup-file.sql
  • 要从一个数据库转储表子集,请在 mariadb-dump 命令末尾添加所选表的列表:

    # mariadb-dump [options] db_name [tbl_name …​] > backup-file.sql
  • 要载入从一个数据库转储的表的子集,请运行:

    # mariadb db_name < backup-file.sql
    注意

    此时,db_name 数据库必须存在。

  • 要查看 mariadb-dump 支持的选项列表,请运行:

    $ mariadb-dump --help