开发学院

您的位置:首页>教程>正文

教程正文

MariaDB 备份

MariaDB 备份

  数据是业务和运营的基础,随着各种可能的威胁(例如攻击者、系统故障、不良升级和维护错误)的出现,备份数据至关重要。这些备份有多种形式,并且在过程中有许多选项可以来创建备份。要记住,最重要的是数据库类型、关键信息和涉及的结构,这些信息决定了你如何选择最佳方案。

选项

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

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

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

备份工具

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

  mysqldump备份有三个选项

  Raw data:通过--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

  Transfer:您也可以将数据库和表输出到另一台主机

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

使用THE 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的官方网站了解更多关于这个工具的信息。

  Snapshots:一些文件系统允许使用快照。该过程包括使用读锁刷新表、装载快照、解锁表、拷贝快照,然后卸载快照。

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

  TokuBackup:Percona提供的这个解决方案考虑到InnoDB备份选项的问题和限制,提供了热备份。当应用程序继续操作文件时,它会生成文件的事务性声音副本。有关更多信息,请访问Percona网站..

INNODB的注意事项

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