📜  MariaDB-备份方法

📅  最后修改于: 2020-11-27 05:38:12             🧑  作者: Mango


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

选项

备份的主要选项包括逻辑备份和物理备份。逻辑备份包含用于还原数据的SQL语句。物理备份包含数据副本。

  • 与物理备份相比,逻辑备份通常具有相同的计算机和数据库类型,因此逻辑备份提供了在具有不同配置的另一台计算机上还原数据的灵活性。逻辑备份发生在数据库和表级别,物理备份发生在目录和文件级别。

  • 物理备份的大小比逻辑备份小,并且执行和还原所需的时间也更少。物理备份还包括日志和配置文件,但逻辑备份不包括。

备份工具

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

mysqldump备份有三个选项-

  • 原始数据-通过–tab选项将表转储为原始数据文件,该选项还指定文件的目标位置-

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

$ 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以避免将整个表复制到缓冲池中,因为逻辑备份通常执行全表扫描。