返回顶部
首页 > 资讯 > 数据库 >mysql数据备份3种方案
  • 255
分享到

mysql数据备份3种方案

数据备份方案mysql 2023-01-31 03:01:34 255人浏览 独家记忆
摘要

本文源出处:http://www.lustlost.com/?p=101 Mysql按照备份恢复方式分为逻辑备份和物理备份逻辑备份是备份sql语句,在恢复的时候执行备份的sql语句实现数据库数据的重现物理备份就是备份数据文件了,比较形象点

本文源出处:http://www.lustlost.com/?p=101

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;

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

mysql>FLUSH LOGS;

然后创建快照卷

lvcreate –L 1G –s –n data-snap –p –r /dev/myvg/mydata

最后进入数据库释放读锁

UNLOCK TABLES;

挂载快照卷进行备份

mount –r /dev/myvg/data-snap /mnt/snap

然后对/mnt/snap下的文件进行打包备份

还原的时候,关闭mysqld,然后备份二进制日志后将原来备份的文件还原进去,然后通过二进制日志还原到出错的时间点(通过二进制还原时间点的时候不要忘了暂时关闭二进制日志)


使用percona提供的xtrabackup(推荐)

支持InnoDB的物理热备份,支持完全备份,增量备份,而且速度非常快,而且支持InnoDB引擎的数据在不同数据库迁移

为了让xtrabackup支持更多的功能扩展,配置InnoDB每表一个文件的功能

在my.cnf的mysqld中加入此项: innodb_file_per_table=1

此项不启用将不支持备份单独的表

但如果之前没有启用这个选项,要实现单表一文件的话,可以用mysqldump导出数据,然后启用该选项,恢复回去后就是单表一文件了


首先下载xtrabackup

下载地址:Http://www.percona.com/software/percona-xtrabackup

可以直接下载rpm包安装即可

xtrabackup有完全备份,增量备份和部分备份(保证开启innodb_file_per_table和innodb_expand_import)


完全备份整个数据库

innobackupex --user=root --passWord=123456 /tmp/backup

此时会在/tmp/backup目录下生成以时间为名的文件夹,里面是备份文件

在这里,备份的数据还不能直接用来还原,因为备份数据中会含有尚未提交的事务或者未同步到数据文件中的事物。这里需要用prepare回滚事物使数据文件处于一致性。

innobackupex --apply-log /tmp/backup/dir

处理完成后才能用来还原数据,用此命令还原

innobackupex --copy-back /tmp/backup/dir

要实现时间点还原,还是需要使用二进制日志


增量备份

增量备份支持Innodb,对于MyISAM只能完全备份

innobackupex –incremental /tmp/backup/incremental --incremental-basedir=/tmp/backup/dir

在进行一次增量备份--incremental-basedir要指向上一次增量备份的目录


如果要进行还原,先进行prepare处理

这里处理的方式,将备份合并

innobackupex --apply-log --redo-only /tmp/backup/dir

innobackupex --apply-log --redo-only /tmp/backup/dir --incremental-dir=/tmp/backup/incremental

最后使用完全备份的那个备份还原


至于差异备份,只要每次将basedir指向完全备份文件夹就行了


最后再废话一句:要实现时间点还原,是需要使用二进制日志的,所以备份好二进制日志至关重要。除非在恢复时间点和上一次备份时间点这段时间的数据对你来说无所谓。。。


您可能感兴趣的文档:

--结束END--

本文标题: mysql数据备份3种方案

本文链接: https://lsjlt.com/news/187333.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mysql数据备份3种方案
    本文源出处:http://www.lustlost.com/p=101 mysql按照备份恢复方式分为逻辑备份和物理备份逻辑备份是备份sql语句,在恢复的时候执行备份的sql语句实现数据库数据的重现物理备份就是备份数据文件了,比较形象点就...
    99+
    2023-01-31
    数据备份 方案 mysql
  • 多种方法备份Mysql数据库
     前言:Mysql数据库的备份是重中之重,在生产过程中,数据库会因硬件故障,软件故障,******,误操作等造成数据丢失,但经过精密的备份,完全能把数据恢复过来.一,备份工具这里介绍几种常用的备...
    99+
    2024-04-02
  • 数据库备份的几种解决方案
    Mysql数据库备份的几种解决方案 一、Navicat定时自动备份 通过使用Navicat中的自动运行任务来实现定时生成.nb3备份文件,此文件所占内存相比.SQL文件要小很多。 配置流程如下: 1....
    99+
    2023-09-01
    数据库 mysql
  • MySQL数据库备份的三种方式
    为什么要数据库备份? a 保证重要的数据不丢失 b 数据转移   MYSQL数据库备份的方式1、直接拷贝物理文件(D:\Software\mysql-8.0.28-winx64\data中拷贝)2、在sqlyog这种可视化工具中手动导出(点...
    99+
    2023-09-04
    数据库 mysql
  • 自建单机MySQL数据库备份方案
    使用全量备份SQL+BinLog进行数据恢复 一、环境   环境:Centos 6.5 ,MySQL 5.7.22, yum install 命令安装 二、备份 指定备份路径,指定 --master-d...
    99+
    2014-06-10
    自建单机MySQL数据库备份方案
  • MySQL数据库中有哪些备份方案
    MySQL数据库中有哪些备份方案,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、冷备份:一般主要用于非核心业务,这类业务一般都是允许业务中断...
    99+
    2024-04-02
  • 备份MySQL数据库的各种方法介绍
    不知道大家之前对类似备份MySQL数据库的各种方法的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完备份MySQL数据库的各种方法你一定会有所收获的。 查看...
    99+
    2024-04-02
  • 学会用各种方式备份MySQL数据库
    前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需...
    99+
    2024-04-02
  • MySql三种备份方式
    一、备份的目的     1. 做灾难恢复:对损坏的数据进行恢复和还原     2. 需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用 二、备份需要考虑的问题     1. 可以容忍丢失多长时间的数据;     2. 恢...
    99+
    2023-09-03
    java 数据库 开发语言
  • 备份MySql数据库方法
    这篇文章主要讲解了“备份MySql数据库方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“备份MySql数据库方法”吧!使用MYSQL进行数据库备份,有很正...
    99+
    2024-04-02
  • 云服务器数据备份方案
    云服务器数据备份方案有很多种,以下是其中一种常见的方案: 镜像备份:通过将数据存储在本地服务器或其他存储设备中的方式来备份数据。 自动备份:用户可以将数据备份到云服务器上的其他位置,并在需要时恢复它们。 本地备份:将数据存储在本地数据中...
    99+
    2023-10-27
    数据备份 服务器 方案
  • Mysql备份的三种方法
    Mysql备份的主要作用是当出现硬件故障、软件故障、自然灾害、******、人为误操作时能快速、高效、安全的解决问题,以免造成不必要的损失Mysql备份时需要备份什么?  1、需要用到的数据&nb...
    99+
    2024-04-02
  • MySQL 数据库定时备份的几种方式(全面)
    目录一. mysqldump命令备份数据 二. mysqldump常用操作示例三. 还原 MySQL 备份内容1、编写BASH维护固定数量备份文件2、使用crontab定期执行备份脚...
    99+
    2024-04-02
  • MySQL备份数据库的方法
    这篇文章主要讲解了MySQL备份数据库的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。一提到数据,大家神经都会很紧张,数据的类型有很多种,但是总归一点,数据很重要,非常重要...
    99+
    2024-04-02
  • ​ SQL SERVER数据备份方案是什么
    这篇文章主要介绍  SQL SERVER数据备份方案是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!SQL SERVER数据备份方案SQL SERVER数据库的备份方法...
    99+
    2024-04-02
  • MySQL数据库备份与灾备方案的项目经验总结
    MySQL数据库备份与灾备方案的项目经验总结在项目中,数据库的备份和灾备方案是一项非常重要的工作内容。MySQL作为一种常用的关系型数据库管理系统,其备份和灾备方案的制定和实施是确保数据安全性和可用性的关键。在过去的项目实施中,我积累了一些...
    99+
    2023-11-02
    MySQL备份 灾备 经验总结
  • MySQL数据库中备份数据的方法
    MySQL数据库中备份数据的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!想进行数据库的备份首先要在命令行窗口进入My...
    99+
    2024-04-02
  • MySQL 备份数据库
    原文:https://www.cnblogs.com/better-farther-world2099/articles/10276087.html MySQL 备份数据库原文地址:https://www.cnblogs.com/guxi...
    99+
    2021-07-21
    MySQL 备份数据库 数据库入门 数据库基础教程 数据库 mysql
  • mysql数据库备份
    数据库备份1 冷备(cp)2  LVM快照备份 lvcreate  -s  -n  rhel6node1  -L  ...
    99+
    2024-04-02
  • 备份MySQL数据库
    为什么需要备份数据?数据的备份类型MySQL备份数据的方式备份需要考虑的问题设计合适的备份策略实战演练使用cp进行备份使用mysqldump+复制BINARY LOG备份使用lvm2快照备份数据使用Xtra...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作