BOOK.PANAFRIO.COM
Search : Login


應用專題

操作系统

数据库

移民資訊

程序设计

综合交流

网管技术

Search ALL -->
备份 MariaDB 数据 ( 2025-02-08 ) + ( 856 )
https://docs.redhat.com/zh-cn/documentation/red_hat_enterprise_linux/9/html/configuring_and_using_database_servers/backing-up-mariadb-data_using-mariadb#performing-logical-backup-with-mariadb-dump_backing-up-mariadb-data
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 
 
其他资源 
 
    MariaDB 文档 - mariadb-dump  
 
2.6.2. 使用 Mariabackup 工具执行物理在线备份 
复制链接 
 
mariabackup 是一个基于 Percona XtraBackup 技术的工具,能够执行 InnoDB、Aria 和 MyISAM 表的物理在线备份。这个工具是由 AppStream 存储库中的 mariadb-backup 软件包提供的。 
 
mariabackup 支持对 MariaDB 服务器的全备份功能,其中包括加密和压缩的数据。 
 
先决条件 
 
    mariadb-backup 软件包已在系统中安装: 
 
    # dnf install mariadb-backup 
 
    您必须为 Mariabackup 提供要在其下运行备份的用户的凭证。您可以在命令行中或通过配置文件来提供凭证。 
    Mariabackup 的用户必须具有 RELOAD、LOCK TABLES 和 REPLICATION CLIENT 特权。  
 
要使用 Mariabackup 创建数据库备份,请使用以下流程: 
 
流程 
 
    要在在命令行上提供凭证的同时创建备份,请运行: 
 
    $ mariabackup --backup --target-dir <backup_directory> --user <backup_user> --password <backup_passwd> 
 
    target-dir 选项定义存储备份文件的目录。如果要执行全备份,目标目录必是空或者不存在。 
 
    user 和 password 选项允许您配置用户名和密码。 
 
    要使用配置文件中设置的凭证创建备份: 
        在 /etc/my.cnf.d/ 目录中创建配置文件,例如 /etc/my.cnf.d/mariabackup.cnf。 
 
        将以下行添加到新文件的 [xtrabackup] 或 [mysqld] 部分中: 
 
        [xtrabackup] 
        user=myuser 
        password=mypassword 
 
        执行备份: 
 
        $ mariabackup --backup --target-dir <backup_directory> 
 
其他资源 
 
    使用 Mariabackup 进行全备份和恢复  
 
2.6.3. 使用 Mariabackup 工具恢复数据 
复制链接 
 
备份完成后,您可以使用 mariabackup 命令及以下一个选项来从备份中恢复数据: 
 
    --copy-back 允许您保存原始的备份文件。 
    --move-back 将备份文件移到数据目录中,并删除原始的备份文件。  
 
要使用 Mariabackup 工具来恢复数据,请使用以下流程: 
 
先决条件 
 
    验证 mariadb 服务是否没有运行: 
 
    # systemctl stop mariadb.service 
 
    验证数据目录是否为空。 
    Mariabackup 的用户必须具有 RELOAD、LOCK TABLES 和 REPLICATION CLIENT 特权。  
 
流程 
 
    运行 mariabackup 命令: 
 
        要恢复数据并保留原始备份文件,请使用 --copy-back 选项: 
 
        $ mariabackup --copy-back --target-dir=/var/mariadb/backup/ 
 
        要恢复数据并删除原始备份文件,请使用 --move-back 选项: 
 
        $ mariabackup --move-back --target-dir=/var/mariadb/backup/ 
 
    修复文件权限。 
 
    恢复数据库时,Mariabackup 会保留备份的文件和目录特权。但是,Mariabackup 以恢复数据库的用户和组的身份将文件写入磁盘。恢复备份后,您可能需要调整数据目录的所有者,以匹配 MariaDB 服务器的用户和组,通常两者都为 mysql。 
 
    例如,要递归地将文件的所有权改为 mysql 用户和组: 
 
    # chown -R mysql:mysql /var/lib/mysql/ 
 
    启动 mariadb 服务: 
 
    # systemctl start mariadb.service 
 
其他资源 
 
    使用 Mariabackup 进行全备份和恢复  
 
2.6.4. 执行文件系统备份 
复制链接 
 
要创建 MariaDB 数据文件的文件系统备份,请将 MariaDB 数据目录的内容复制到您的备份位置。 
 
要同时备份当前的配置或日志文件,请使用以下流程的可选步骤: 
 
流程 
 
    停止 mariadb 服务: 
 
    # systemctl stop mariadb.service 
 
    将数据文件复制到所需位置: 
 
    # cp -r /var/lib/mysql /backup-location 
 
    可选:将配置文件复制到所需位置: 
 
    # cp -r /etc/my.cnf /etc/my.cnf.d /backup-location/configuration 
 
    可选:将日志文件复制到所需位置: 
 
    # cp /var/log/mariadb/* /backup-location/logs 
 
    启动 mariadb 服务: 
 
    # systemctl start mariadb.service 
 
    将备份位置的备份数据加载到 /var/lib/mysql 目录时,请确保 mysql:mysql 是 /var/lib/mysql 中所有数据的所有者: 
 
    # chown -R mysql:mysql /var/lib/mysql 
 
2.6.5. 作为备份解决方案复制 
复制链接 
 
复制是源服务器的一个替代的备份解决方案。如果源服务器复制到副本服务器,备份可以在副本上运行,而不会对源造成任何影响。当您关闭副本,并从副本备份数据时,源仍然可以运行。 
警告 
 
复制本身并不是一个足够的备份解决方案。复制可以防止源服务器出现硬件故障,但它不能确保防止数据的丢失。建议您将对副本的任何其他备份解决方案与此方法一起使用。 
 
其他资源 
 
    使用 Galera 复制 MariaDB 
    作为备份解决方案复制  

|   Developed by GrupoPanafrio.Com   |  Telephone : (507) 6672-2268   |   E-MAIL :   |  WebMail  |
Copyright © 2009-2026 Book.Panafrio.Com All Rights Reserved.