Mariadb 简明教程

MariaDB - Backup Methods

数据是业务和运营的基础,由于存在各种可能的威胁(例如攻击者、系统故障、不良升级和维护错误),因此备份仍然至关重要。这些备份形式多样,并且有许多选项可以创建它们,并在这些过程中有更广泛的选项集。需要记住的重要事项是数据库类型、关键信息和所涉及的结构。这些信息决定了您的最佳选择。

OPTIONS

备份的主要选项包括逻辑备份和物理备份。逻辑备份保存 SQL 语句以恢复数据。物理备份包含数据的副本。

  1. 与通常仅限于同一台机器和数据库类型的物理备份相比,逻辑备份提供了在配置不同的另一台机器上恢复数据灵活性。逻辑备份发生在数据库和表级别,物理备份发生在目录和文件级别。

  2. Physical backups 大小比逻辑小,执行和恢复也花的时间更少。物理备份还包括日志和配置文件,但逻辑备份不包括。

Backup Tools

用于 MariaDB 备份的主要工具是 mysqldump 。它提供逻辑备份和灵活性。它还被证明是小型数据库的绝佳选择。 Mysqldump 将数据转储到 SQL、CSV、XML 和其他许多格式中。在没有明确指令的情况下,其输出不会保留存储过程、视图和事件。

有三个用于 mysqldump 备份的选项 −

  1. Raw data − 通过 --tab 选项将表转储为原始数据文件,该选项还指定文件的目标 −

$ mysqldump -u root -p --no-create-info \
   --tab=/tmp PRODUCTS products_tbl
  1. Data/Definitions export − 此选项允许将单个或多个表导出到文件中,并支持备份主机上的所有现有数据库。查看将内容或定义导出到文件的一个示例

$ mysqldump -u root -p PRODUCTS products_tbl > export_file.txt
  1. Transfer − 您还可以将数据库和表输出到另一个主机

$ mysqldump -u root -p database_name \
   | mysql -h other-host.com database_name

Using THE SELECT…​INTO OUTFILE Statement

导出数据的另一个选项采用 SELECT…​INTO OUTFILE 语句。此简单选项将表输出到一个简单的格式化文本文件中 −

mysql> SELECT * FROM products_tbl
   -> INTO OUTFILE '/tmp/products.txt';

其属性允许您根据自己的首选规范设置文件格式。

请注意此语句的以下特性 −

  1. 文件名必须指定您希望输出的目标位置。

  2. 您需要 MariaDB 文件权限才能执行此语句。

  3. 输出文件名必须是唯一的。

  4. 您需要主机的登录凭据。

  5. 在 UNIX 环境中,输出文件是世界可读的,但其服务器所有权会影响您删除它的能力。确保您有权限。

Using CONNECT in Backups

CONNECT 处理程序允许导出数据。当 SELECT…​INTO OUTFILE 操作不支持文件格式时,这主要在情况下很有用。

查看以下示例:

create table products
engine = CONNECT table_type = XML file_name = 'products.htm' header = yes
option_list = 'name = TABLE,coltype = HTML,attribute = border = 1;cellpadding = 5'

select plugin_name handler, plugin_version version, plugin_author
author, plugin_description description, plugin_maturity maturity
from information_schema.plugins where plugin_type = 'STORAGE ENGINE';

Other Tools

其他备份选项如下 −

  1. XtraBackup − 此选项针对 XtraDB/InnoDB 数据库,并且适用于任何存储引擎。从 Percona 的官方网站了解更多有关此工具的信息。

  2. Snapshots − 某些文件系统允许快照。此过程包括使用读锁刷新表、挂载快照、解锁表、复制快照,然后卸载快照。

  3. LVM − 此流行方法使用 Perl 脚本。它对每个表获取读锁并将高速缓存刷新到磁盘。然后,它获取快照并解锁表。请参阅官方 mylvmbackup 网站了解更多信息。

  4. TokuBackup − Percona 提供的此解决方案提供了热备份,同时考虑了 InnoDB 备份选项的问题和限制。它生成文件的可事务健全副本,同时应用程序继续操控这些文件。有关更多信息,请查看 Percona 网站。

INNODB Considerations

InnoDB 使用缓冲池来提高性能。在备份中,配置 InnoDB 以避免将整个表复制到缓冲池,因为逻辑备份通常执行全表扫描。