首页 数据库 mysql教程 详解MySQ如何实现数据备份

详解MySQ如何实现数据备份

Oct 17, 2018 pm 05:42 PM
数据备份

本文给大家介绍MySQ什么是数据备份,让大家了解MySQ实现数据备份的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

MySQL备份概述

问题:备份和冗余有什么区别?

  • 备份:能够防止由于机械故障以及人为操作带来的数据丢失,例如将数据库文件保存在了其它地方。

  • 冗余:数据有多份冗余,但不等于备份,只能防止机械故障带来的数据丢失,例如主备模式、数据库集群。

备份是什么?

 databases     Binlog  my.cnf       /data/xxx(数据目录)

备份数据库,还有日志文件,还有配置文件,尽可能将数据目录里面的文件全部备份。

备份过程中必须考虑因素:

  • 1、必须制定详细的备份计划(备份频率、时间点、周期)(根据当前的业务情况,需要考虑备份的时间和备份数据的大小。数据量太大的话就使用冗灾)。

  • 2、备份数据应该放在非数据库本地,并建议有多份副本

  • 3、必须做好数据恢复的演练(每隔一段时间,对备份的数据在测试环境中进行模拟恢复,保证当出现数据灾难的时候能够及时恢复数据。)(保证数据的可用性)备份完成后进行断电模拟演练。测试数据库是否可以正常启动,数据能否正常进行恢复。

  • 4、根据数据应用的场合、特点选择正确的备份工具。

  • 5、数据的一致性。

  • 6、数据的可用性。

备份类型

逻辑备份

逻辑备份就是在不停业务的情况下进行备份。

备份的是建表、建库、插入等操作所执行SQL语句(DDL DML DCL),适用于中小型数据库,效率相对较低。

(一般在数据库正常提供服务的前提下进行的);如:mysqldump、mydumper、 into outfile(表的导出导入)等

物理备份

直接复制数据库文件,适用于大型数据库环境,不受存储引擎的限制,但不能恢复到不同的MySQL版本。

(一般在数据库彻底关闭或者不能完成正常提供服务的前提下进行的备份);如:tar、cp、xtrabackup、lvm snapshot等

在线热备

在线热备:AB复制(在线实时)(指的是对数据的冗余)

M-S

M-Sn

M-S1-S2

M-M-Sn

备份工具

社区版安装包中的备份工具

mysqldump

  • 企业版和社区版都包含

  • 本质上使用SQL语句描述数据库及数据并导出

  • 在MYISAM引擎上锁表,Innodb引擎上锁行

  • 数据量很大时不推荐使用

mysqlhotcopy

  • 企业版和社区版都包含

  • perl写的一个脚本,本质上是使用锁表语句再拷贝数据

  • 只支持MYISAM数据引擎

企业版安装包中的备份工具

mysqlbackup

  • 在线备份

  • 增量备份

  • 部分备份

  • 在某个特定时间的一致性状态的备份

第三方备份工具

XtraBackup和innobackupex

Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品

Xtrabackup有两个主要的工具:xtrabackup、innobackupex

  • xtrabackup只能备份InnoDB和XtraDB两种数据表,不能备份myisam类型的表,也不能备份数据表结构。

  • innobackupex是将Xtrabackup进行封装的perl脚本,所以能同时备份处理innodb和myisam的存储引擎,但在处理myisam时需要加一个读锁

mydumper

mydumper 多线程备份工具

https://launchpad.net/mydumper/mydumper-0.9.1.tar.gz 

备份方法

完全备份

增量备份

 

差异备份

差异增量备份

 

 • Sunday
An incremental level 0 backup backs up all blocks that have ever been in use in this database.

• Monday through Saturday
On each day from Monday through Saturday, a differential incremental level 1 backup backs up all blocks that have changed since the most recent incremental backup at level 1 or 0. The Monday backup copies blocks changed since Sunday level 0 backup, the Tuesday backup copies blocks changed since the Monday level 1 backup, and so forth.

累计增量备份

• Sunday
An incremental level 0 backup backs up all blocks that have ever been in use in this database.

• Monday - Saturday
A cumulative incremental level 1 backup copies all blocks changed since the most recent level 0 backup. Because the most recent level 0 backup was created on Sunday, the level 1 backup on each day Monday through Saturday backs up all blocks changed since the Sunday backup.

需要掌握的备份方法:

逻辑数据的导入导出(into outfile)mysqldump、mysqlhotcopy、xtrabackup和innobackupex
lvm-snapshot、mysqlbackup

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。更多相关教程请访问mysql数据库图文教程 MySQL视频教程bootstrap视频教程

以上是详解MySQ如何实现数据备份的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

ThinkPHP6数据备份与恢复:保障数据的安全性 ThinkPHP6数据备份与恢复:保障数据的安全性 Aug 13, 2023 am 08:28 AM

ThinkPHP6数据备份与恢复:保障数据的安全性随着互联网的快速发展,数据已成为一项极其重要的资产。因此,数据的安全性备受关注。在Web应用开发中,数据备份与恢复是确保数据安全的重要一环。在本文中,我们将介绍如何使用ThinkPHP6框架进行数据备份与恢复,以保障数据的安全性。一、数据备份数据备份是指将数据库中的数据以某种方式进行复制或存储。这样即使在数据

通过Docker Compose、Nginx和MariaDB实现PHP应用程序的数据备份与还原 通过Docker Compose、Nginx和MariaDB实现PHP应用程序的数据备份与还原 Oct 12, 2023 am 11:14 AM

通过DockerCompose、Nginx和MariaDB实现PHP应用程序的数据备份与还原随着云计算和容器化技术的快速发展,越来越多的应用程序选择使用Docker来部署和运行。在Docker生态系统中,DockerCompose是一个非常受欢迎的工具,它可以通过一个单一的配置文件来定义和管理多个容器。本文将介绍如何使用DockerCompose、Ng

如何使用PHP实现网站备份功能 如何使用PHP实现网站备份功能 Jun 27, 2023 pm 01:32 PM

在网站运营过程中,备份是一项非常重要的任务。如果网站有数据丢失或者损失,备份可以为恢复网站提供便利。PHP是一种常用的服务器端编程语言,可以通过编写PHP脚本实现网站的备份功能。本文将介绍如何使用PHP实现网站备份功能。一、备份文件的类型在备份网站的时候,需要备份数据库和网站文件。通常网站文件包括静态文件、程序文件、图片和上传的附件等,而数据库则包含网站的所

PHP中的数据备份 PHP中的数据备份 May 24, 2023 am 08:01 AM

在进行Web开发的过程中,数据的存储和备份无疑是非常重要的一环。面对万一出现的数据丢失或恢复需要,备份是非常必要的。对于PHP这种开源的后端语言,数据的备份同样也有许多可选的方案,下面我们就来详细了解一下PHP中的数据备份。一、数据库备份1.1MYSQLdump工具MYSQLdump是一个备份MYSQL数据库的命令行工具,它通过执行SQL语句将整个数据库或

MySQL中的数据压缩备份技术 MySQL中的数据压缩备份技术 Jun 15, 2023 pm 05:23 PM

随着数据量的不断增大,数据库备份的难度也越来越大。而备份不仅要求数据的完整性和一致性,还要求备份速度和备份文件大小均能满足实际需求。数据压缩备份技术因此应运而生,成为数据库备份必不可少的一种技术手段之一。MySQL是目前最流行的关系型数据库之一,其官方提供的备份工具mysqldump并不能满足压缩备份的需求。因此,本文将介绍使用Linux系统上的压缩命令ta

使用PHP和SQLite实现数据备份和恢复策略 使用PHP和SQLite实现数据备份和恢复策略 Jul 28, 2023 pm 12:21 PM

使用PHP和SQLite实现数据备份和恢复策略备份和恢复是数据库管理中非常重要的一个环节,它可以保护我们的数据免受意外损坏或丢失的影响。本文将介绍如何使用PHP和SQLite实现数据备份和恢复的策略,帮助我们更好地管理和保护数据库中的数据。首先,我们需要创建一个使用SQLite的数据库,并建立一些测试数据以便后续操作。下面是一个简单的例子:<?php

如何处理C++大数据开发中的数据备份一致性问题? 如何处理C++大数据开发中的数据备份一致性问题? Aug 26, 2023 pm 11:15 PM

如何处理C++大数据开发中的数据备份一致性问题?在C++大数据开发中,数据备份是非常重要的一环。为了确保数据备份的一致性,我们需要采取一系列的措施来解决这个问题。本文将探讨如何处理C++大数据开发中的数据备份一致性问题,并提供相应的代码示例。使用事务进行数据备份事务是一种保证数据操作的一致性的机制。在C++中,我们可以使用数据库中的事务概念来实现数据备份的一

如何利用Laravel实现数据备份和恢复功能 如何利用Laravel实现数据备份和恢复功能 Nov 02, 2023 pm 01:18 PM

如何利用Laravel实现数据备份和恢复功能随着互联网的发展,数据备份和恢复功能成为了重要的需求。在web应用中,数据备份和恢复功能可以保证数据的安全性和可靠性,同时也提供了一种应对突发情况的应急手段。Laravel作为一种流行的PHP框架,具备强大的数据处理和数据库操作能力,因此可以很方便地实现数据备份和恢复功能。本文将介绍如何利用Laravel实现数据备

See all articles