mysql的数据备份方案

mysql按照备份恢复方式分为逻辑备份和物理备份

逻辑备份是备份sql语句,在恢复的时候执行备份的sql语句实现数据库数据的重现

物理备份就是备份数据文件了,比较形象点就是cp下数据文件,但真正备份的时候自然不是的cp这么简单

这2种备份各有优劣,一般来说,物理备份恢复速度比较快,占用空间比较大,逻辑备份速度比较慢,占用空间比较小

下面介绍以下3种常用的备案方法

mysqldump工具备份

mysqldump由于是mysql自带的备份工具,所以也是最常用的mysql数据库的备份工具。支持基于InnoDB的热备份。但由于是逻辑备份,所以速度不是很快,适合备份数据量比较小的场景。

mysqldump完全备份+二进制日志 —>实现时间点恢复

温备:

在使用MyISAM引擎中,只能使用温备份,这时候要防止数据的写入,所以先加上读锁

这时候可以进入数据库手动加读锁。这样比较麻烦,在mysqldump工具中直接有一个加锁的选项

mysqldump --databases mydatabase --lock-all-tables --flush-logs> /tmp/backup-`date +%F-%H-%M`.sql

如果是针对某张表备份,只要在数据库名称后面加上表名称就行了

这里注意,要实现时间点的恢复,加上--flush-logs选项,在使用备份文件恢复后,然后再基于二进制日志进行时间点的恢复

时间点的恢复方法

mysqlbinlog mysql-bin.000000x > /tmp/PointTime.sql

然后用mysql命令导入这个sql脚本就行了

热备:

如果使用的是InnoDB引擎,就不必进行对数据库加锁的操作,加一个选项既可以进行热备份:--single-transaction

mysqldump --databases mydb --single-transaction  --flush-logs --master-data=2 > /tmp/backup-`date +%F-%H-%M`.sql

注意点

恢复的时刻关闭二进制日志

mysql>set sql_log_bin=0;

因为这是基于逻辑备份方式,在恢复日志时会执行sql语句插入数据,而恢复时候插入数据的日志没有意义。

基于LVM快照备份

在物理备份中 ,有基于文件系统的物理备份(LVM的快照),也可以直接用tar之类的命令打包。但这些只能进行冷备份

不同的存储引擎能备份的级别也不一样,MyISAM能备份到表级别,而InnoDB不开启每表一文件的话就只能备份整个数据库。

下面就介绍下使用LVM的快照功能进行备份

为了安全 首先在数据库上施加读锁

mysql>FLUSH TABLES WITH READ LOCK;

刷新一下二进制日志,便于做时间点恢复

时间: 2025-01-19 13:47:24

mysql的数据备份方案的相关文章

MySQL/MariaDB数据备份与数据恢复完整

  MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:Oracle公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险. 数据对我们来说再重要不过了,那我们如何做到对数据尽可能的安全呢,当我们的数据丢失了那又该怎么做呢,所以说数据备份对我们的数据安全性来说太重要了. 数据对我们来说再熟悉不过了,也最平常不过了,我们每天都在接触各色各样的数据,数据记录了我们平常相关的业务信息,所以数据对于我

没有经过验证的数据备份方案,本身就是一场灾难

数据备份,作为发生事故时的救命稻草,往往被寄予最后的希望,但数据备份真的能在危难时刻挽救我们吗?正如前一短时间刷爆朋友圈的GitLab删库事件惊醒了一大批运维人员,五重备份全部失效.存在类似隐患的企业不在少数,如果不能确保备份数据的可用性,无法实现备份恢复的可验证性,当系统遭遇类似故障时,没有企业可以幸免. 当前,日新月异的技术创新正在模糊数字与物理世界的界限,颠覆各行各业中企业的运营方式,数字变革关乎企业成败,在数字世界中,客户期望实现 24.7.365 全天候可用性. 据报道,传统备份的回复

MySQL平台数据库备份方案详细说明

mysql|备份|数据|数据库 在数据库表丢失或损坏的情况下,备份你的数据库是很重要的.如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态.有时,正是MySQL管理员造成破坏.管理员已经知道表已破坏,用诸如vi或Emacs等编辑器试图直接编辑它们,这对表绝对不是件好事! 备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件(如用cp.cpio或tar等).每种方法都有其优缺点: mysqldump与MySQL服务器协同操作.直接拷贝方法在服务器外部进

mysql mysqldump数据备份和增量备份_Mysql

本篇文章主要讲如何使用shell实现mysql全量,增量备份.增量备份在周一-周六凌晨3点,会复制mysql-bin.00000*到指定目录:而全量备份则使用mysqldump将所有的数据库导出,每周日凌晨3点执,并会删除上周留下的mysq-bin.00000*.然后对mysql的备份操作会保留在bak.log文件中.如下图:开始:2013年05月02日 15:10:57 结束:2013年05月02日 15:12:16 20130502.sql.tgz succ是由DBFullyBak.sh产生

Linux下数据备份的一般方法

一个应用中有很多的重要数据,为了在数据灾难发生后我们能够及时.迅速.准确的恢复我们的应用到一个比较合适的位置,我们必须定期的对我们的数据资料进行备份,今天所要讨论的就是Linux下数据资料备份的方法. 1.本机数据手工备份    Linux上有功能强大的tar命令,tar最初是为了制作磁带备份而设计的,他的作用是把文件和目录备份到磁带中,然后从磁带中提取或恢复文件.现在我们可以使用tar来备份数据到任何存储介质上.    tar命令备份数据的格式如下:        tar cvf backup

备份宝打破中小企业数据备份的高门槛

     中小企业数据备份的现状--数据保存在硬盘甚至个人电脑 对于企业而言,信息化早已成为日常工作.业务处理和客户维护所不可或缺的部分.企业数据主要包括存储在服务器.存储等设备中的员工档案.产品资料.财务报表.客户信息.管理文件等,这些数据一旦遭到破坏或者丢失,都会给企业带来不可预估的风险和损失.也正因此,信息或者说数据理所当然的成为了每个企业发展的命脉. 2016年4月12日,追梦网和Hive创始人杜梦杰因在航班上遗失工作电脑,发布"重金酬谢"微博文章而被广泛关注,然而重金之下,遗

UIT推出的BL 2000提供高效经济的虚拟带库备份方案

  目前,对于关键业务数据,企业都建立了各种各样的备份系统.如果客户采用传统磁带备份技术,那么,客户在备份/恢复中将会遇到种种难题,包括:备份/恢复过程太长:人力资源消耗太大:无法保证备份/恢复的成功:对于备份介质的管理非常复杂:恢复时间无法确定:介质成本,维护成本高昂等等.面对这些挑战,虚拟磁带库备份方案正成为客户关注的焦点.UIT新近推出的BL 2000产品,全面提供了高效.经济和可扩展的虚拟磁带库备份方案,为保护数据提供了优异选择. BL2000系列具有开放的系统架构和灵活的扩展性,在满足

虚拟磁带库备份方案或成企业存储首选

  目前,对于关键业务数据,企业都建立了各种各样的备份系统.如果客户采用传统磁带备份技术,那么,客户在备份/恢复中将会遇到种种难题,包括:备份/恢复过程太长;人力资源消耗太大;无法保证备份/恢复的成功;对于备份介质的管理非常复杂;恢复时间无法确定;介质成本,维护成本高昂等等.面对这些挑战,虚拟磁带库备份方案正成为客户关注的焦点.UIT新近推出的BL 2000产品,全面提供了高效.经济和可扩展的虚拟磁带库备份方案,为保护数据提供了优异选择. BL2000系列具有开放的系统架构和灵活的扩展性,在满足

Mysql高性能备份方案解决数据不间断访问(LVM快照方式备份)

mysql LVM快照备份特点: 1.在大多数情况下,这种方式几乎算得上是热备.它无需关闭服务,只需要设置只读或者类似这样的限制. 2.支持所有基于本地磁盘的存储引擎,比如MYISAM.InnoDB和BDB,还支持Solid.PrimeXT和Faction. 3.备份速度最快,因为你只需要拷贝相关的二进制数据文件即可. 4.由于只是简单的拷贝文件,因此对服务器开销非常低. 5.保存方式多种多样,你可以备份到磁带上.FTP服务器上.NFS服务器上或者其他什么网络服务器,以及使用各种网络备份软件来备