MariaDB - 备份方法

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

选项

备份的主要选项包括逻辑备份和物理备份.逻辑备份包含用于还原数据的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

使用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的官方网站了解有关此工具的更多信息.

  • 快照 : 某些文件系统允许快照.该过程包括使用读锁定刷新表,装入快照,解锁表,复制快照,然后卸载快照.

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

  • TokuBackup :  Percona提供的此解决方案提供热备份,同时考虑InnoDB备份选项的问题和限制.当应用程序继续操作它时,它会生成文件的事务声音副本.请访问Percona网站以获取更多信息..

INNODB注意事项

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