当前位置:Gxlcms > mysql > MariaDB/MySQL之备份及恢复

MariaDB/MySQL之备份及恢复

时间:2021-07-01 10:21:17 帮助过:2人阅读

数据备份是包装数据安全的重要策略之一,怎么做备份和怎么备份对于数据库日常管理十分重要;但是备份的最主要作用就是恢复,不能恢复的备份就不仅仅是做无用功的

数据备份是包装数据安全的重要策略之一,怎么做备份和怎么备份对于数据库日常管理十分重要;但是备份的最主要作用就是恢复,不能恢复的备份就不仅仅是做无用功的问题了,所以经常做一下备份的恢复测试就必不可少了,这一点甚至比备份本身更加重要。那么就说说备份和恢复。

(1)根据备份时,数据库服务器是否在线:
cold backup:冷备,停机备份;

warm backup :温备,施加全局锁,进行备份,只可读不可写;

hot backup:热备,,生产中进行备份,只有基于事务的存储引擎才能进行;

(2) 根据备份的数据集:

full backup:完全备份;

partial backup: 部分备份;

(3)根据备份时的接口(直接备份数据文件还是通过mysql服务器导出数据),无论采取什 么方式备份,这两种方式都是必选一的:
physical backup :物理备份,直接复制(归档)数据文件的备份方式;

◆ 优点:直接复制数据文件,不需其他工具

◆ 缺点:跨平台能力不好;

logical backup :逻辑备份,把数据从库中提出出来保存为文本文件;

◆ 优点:

①、可以使用文本编辑器编辑;

②、跨平台能力强,恢复方式灵活;

③、有助于避免数据损坏;

◆ 缺点:

①、占用空间大(以现在存储硬件行情,这似乎不再是个问题了);

②、无法保证浮点数的精度;

③、数据恢复后,需要重新建立索引;

(4) 根据备份时是备份整个数据还是仅备份变化的数据:
full backup:完全备份;
incremental backup:增量备份;
differential backup:差异备份;

2、备份策略

没有一种备份策略是完美的和适用于所有场景的,制定备份策略应当从一下几个方面来考量:

◆ 备份成本:包括加锁时间、备份时长、备份负载等;

◆ 恢复成本:主要是恢复时长 ;

◆ 备份对象:有数据、配置文件、代码、os相关的配置文件以及与复制相关的配置等;

主要根据以上因素来选择备份方式、备份时间(无论采取什么样的备份方式,都会对数据库产 生影响的,一般要选择影响最小的时候),以进一步来制定备份的策略。

3、备份工具

(1)mysqldump:逻辑备份工具

◆ 可以实现InnoDB热备、MyISAM温备、Aria温备;

◆ 但是备份和恢复过程较慢;

mysqldump的用法:

(1)语法格式: # mysqldump [options] [db_name [tbl_name ...]] (2)备份单个库:mysqldump [options] db_name 恢复时:如果目标库不存在,需要事先手动创建 (3)常用选项 --all-databases: 备份所有库 --databases db1 db2 ...: 备份指定的多个库 备份前要加锁 --lock-all-tables:请求锁定所有表之后再备份,对MyISAM、InnoDB、Aria做温备 --single-transaction: 能够对InnoDB存储引擎实现热备; 备份代码: --events: 备份事件调度器代码 --routines: 备份存储过程和存储函数 --triggers:备份触发器 备份时滚动日志: --flush-logs: 备份前、请求到锁之后滚动日志; 复制时的同步位置标记: --master-data=[0|1|2] 0: 不记录 1:记录为CHANGE MASTER语句 2:记录为注释的CHANGE MASTER语句

备份步骤:

1、请求锁:--lock-all-tables或使用--singe-transaction进行innodb热备; 2、滚动日志:--flush-logs 3、选定要备份的库:--databases 4、记录二进制日志文件及位置:--master-data=

数据恢复:

恢复时,关闭二进制日志,关闭其它用户连接;

导入数据恢复,Ex:# mysqldump < backupname.sql

一般mysqldump备份策略:

备份:mysqldump+二进制日志文件; 周日做一次完全备份:备份的同时滚动日志 周一至周六:备份二进制日志; 恢复: 完全备份+各二进制日志文件中至此刻的事件 对MySQL配置文件,以及与MySQL相关的OS配置文件在每次修改后都应该直接进行备份;


(2)mysqldumper: 多线程的mysqldump

◆ 很难实现差异或增量备份。

人气教程排行