MariaDB 备份方法

MariaDB 备份方法

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

选项

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

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

  • 物理备份 比逻辑备份的大小更小,执行和恢复时间也较短。物理备份还包括日志和配置文件,而逻辑备份不包括。

备份工具

用于MariaDB备份的主要工具是 mysqldump 。它提供了逻辑备份和灵活性。对于小型数据库来说,它也是一个很好的选择。 mysqldump 将数据转储为SQL、CSV、XML和许多其他格式。它的输出不会保留存储过程、视图和事件,除非有明确的指令。

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

  • 原始数据 − 通过–tab选项将一个表转储为原始数据文件,该选项还指定了文件的目标位置−
$ mysqldump -u root -p --no-create-info \
   --tab=/tmp PRODUCTS products_tbl
  • Data/Definitions export − 此选项允许将单个或多个表导出到文件,并支持备份主机上所有现有数据库。查看将内容或定义导出到文件的示例。
$ mysqldump -u root -p PRODUCTS products_tbl > export_file.txt
  • 传输 − 您还可以将数据库和数据表转移到另一个主机
$ mysqldump -u root -p database_name \
   | mysql -h other-host.com database_name

使用SELECT…INTO OUTFILE语句

将数据导出的另一个选项是使用SELECT…INTO OUTFILE语句。这个简单的选项会将表格输出到一个简单格式的文本文件中 –

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

它的属性允许根据您的首选规格格式化文件。

请注意以下陈述的特点:

  • 文件名必须指定您期望的输出位置。

  • 执行该语句需要MariaDB文件权限。

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

  • 您需要在主机上登录凭据。

  • 在UNIX环境中,输出文件是可读的,但其服务器所有权影响您删除文件的能力。请确保您具有权限。

在备份中使用CONNECT

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';

其他工具

备份的其他选项如下:

  • XtraBackup - 此选项针对XtraDB/InnoDB数据库,并适用于任何存储引擎。了解更多关于此工具的信息,请访问Percona官方网站。

  • 快照 - 一些文件系统允许快照。该过程包括对表进行读锁,挂载快照,解锁表,复制快照,然后卸载快照。

  • LVM - 这种流行的方法使用Perl脚本。它在每个表上获取读锁并将缓存刷新到磁盘上。然后它获取一个快照并解锁表。有关更多信息,请咨询官方 mylvmbackup 网站。

  • TokuBackup - Percona提供的这个解决方案考虑了InnoDB备份选项的问题和限制。它在文件的事务性安全拷贝时继续让应用程序进行操作。有关更多信息,请咨询Percona网站

INNODB注意事项

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程