热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

mysql备份基础知识

为了保障数据的安全,需要定期对数据进行备份。备份的方式有很多种,效果也不一样。一旦数据库中的数据出现了错误,就需要使用备份好的数据进行还原恢复。从而将损失降到最低。1、为什么要备份

为了保障数据的安全,需要定期对数据进行备份。备份的方式有很多种,效果也不一样。一旦数据库中的数据出现了错误,就需要使用备份好的数据进行还原恢复。从而将损失降到最低。

1、为什么要备份

灾难恢复、审计、测试等操作需求,都需要对数据库进行备份。

2、备份方案设计的建议

在生产实践中,对于大数据库来说,物理备份是必需的,因为逻辑备份太慢并受到资源限制,而且从逻辑备份中恢复也需要很长的时间。

保留多个备份集

定期从逻辑备份(物理备份)中抽取数据进行恢复测试

保存二进制日志用于基于故障时间点的恢复。expire_logs_days参数应该设置得足够长,到少可以从最近两次物理备份中做基于时间点的恢复。

监控备份和备份过程,并验证备份是否正常。

测算恢复所需要的资源和时间。

3、逻辑备份与物理备份

1)逻辑备份

就是将数据包含在一种MySQL能够解析的格式中,要么是SQL,要么是以某个符号分隔的文本。

逻辑备份的优点:

备份与恢复简单、灵活

与存储引擎无关。因为是从MySQL服务器中提取数据而生成,所以消除了底层数据存储的影响。

有助于避免数据损坏。

备份文件可以普通的文本

逻辑备份的缺点:

必须由数据库服务器完成生成逻辑备份的工作,因此需要更多的服务器资源。

逻辑备份在某些场景下比数据库文件本身更大。

无法保证导出后再还原出来的一定是同样的数据。

从逻辑备份中还原需要MySQL加载和解释语句,转化为存储格式。

2)物理备份

直接复制原始文件到要备份的位置。

物理备份的优点:

基于文件的备份,只需要将需要的文件复制到其他地方即可完成。

物理备份的恢复比较简单,取决于存储引擎。

物理备份的恢复更快。因为不需要执行任何SQL或构建索引。

物理备份的缺点:

InnoDB的原始文件通常比生意人逻辑备份要大的多。

物流备份不总是可以跨平台、操作系统及MySQL版本。

4、备份什么

恢复的需求决定需要备份什么,最简单的策略是只备份数据和表定义。主要考虑如下内容:

数据

二进制日志和InnoDB事务日志

代码:触发器、存储过程等

复制配置:(二进制日志、中继日志、日志索引文件和.info文件)

服务器配置(my.cnf文件等)

操作系统文件(定时任务相关配置等)

5、增量备份和差异备份

当数据量很大时,一个常见的策略就是做定期的增量或者差异备份,它们之间的区别是:差异备份是对自上次全备份后所有改变的部份而做的备份,增量备份则是从任意类型的上次备份后所有修改做的备份。


推荐阅读
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
  • 探讨密码安全的重要性
    近期,多家知名网站如CSDN、人人网、多玩、开心网等的数据库相继被泄露,其中大量用户的账户密码因明文存储而暴露无遗。本文将探讨黑客获取密码的常见手段,网站如何安全存储用户信息,以及用户应如何保护自己的密码。 ... [详细]
  • Linux环境下MySQL的安装与配置
    本文详细介绍了在Linux系统上安装和配置MySQL的步骤,包括安装前的准备工作、下载和解压安装包、初始化数据库、配置文件编辑、启动服务以及设置开机自启动等。 ... [详细]
  • 如何在U8系统中连接服务器并获取数据
    本文介绍了如何在U8系统中通过不同的方法连接服务器并获取数据,包括使用MySQL客户端连接实例的方法,如非SSL连接和SSL连接,并提供了详细的步骤和注意事项。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 本文详细介绍了Android系统的四层架构,包括应用程序层、应用框架层、库与Android运行时层以及Linux内核层,并提供了如何关闭Android系统的步骤。 ... [详细]
  • 在Java开发中,保护代码安全是一个重要的课题。由于Java字节码容易被反编译,因此使用代码混淆工具如ProGuard变得尤为重要。本文将详细介绍如何使用ProGuard进行代码混淆,以及其基本原理和常见问题。 ... [详细]
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • Django与Python及其他Web框架的对比
    本文详细介绍了Django与其他Python Web框架(如Flask和Tornado)的区别,并探讨了Django的基本使用方法及与其他语言(如PHP)的比较。 ... [详细]
  • MySQL Administrator: 监控与管理工具
    本文介绍了 MySQL Administrator 的主要功能,包括图形化监控 MySQL 服务器的实时状态、连接健康度、内存健康度以及如何创建自定义的健康图表。此外,还详细解释了状态变量和系统变量的管理。 ... [详细]
  • 开发笔记:empireCMS 帝国cms功能总结 ... [详细]
  • 本文介绍了蓝牙低功耗(BLE)中的通用属性配置文件(GATT),包括其角色、层次结构、属性、特性和服务等内容。 ... [详细]
  • Oracle 10g 和 11g 32位 OCI.DLL 文件下载
    32位 PL/SQL Developer 访问 64位 Oracle 11g 数据库时,需要使用 32位的 OCI.DLL 文件以确保正常连接和数据访问。本文将详细介绍如何获取并配置此文件。 ... [详细]
author-avatar
大苏打的苏打水
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有