mysql之备份和恢复

news2024/11/26 19:42:00

(一)备份

1、备份的种类

(1)完全备份:将整个数据库完整的进行备份
(2)增量备份:在完全备份的基础上,对后续新增的内容进行备份

2、备份的需求

(1)在生产环境中,数据的安全至关重要,任何数据的丢失都可能产生严重的后果
(2)数据丢失的原因:程序操作、运算错误、磁盘故障、不可预期的事件、认为操作等等

3、备份的方法

(1)冷备份:关机备份,停止mysql服务,然后进行备份
(2)热备份:开机备份,无需关闭mysql服务,然后进行备份
(3)物理备份:对数据库系统的物理文件(数据文件、日志文件)进行备份
(4)逻辑备份:对数据库的逻辑组件进行备份(表结构),以sql语句的形式,把库、表结构、表数据进行备份保存(直接在数据库系统中删除所有文件,逻辑备份无法恢复)

(二)物理备份

1、物理备份:采用完全备份,对整个数据库进行完整的打包备份

2、优点:操作简单(打包、解包)
3、缺点:数据库文件占用量很大,占用空间大,备份和恢复的时间很长,而且需要暂停数据库
4、物理冷备份(关机备份)

打包备份最好关闭服务,避免有新的数据进入、被覆盖,也可能导致恢复失败

(1)创建两个数据库、建表、写入数据

5、远程复制库

(三)热备份中的逻辑备份

1、mysql自带的工具:mysqldump(逻辑恢复数据库)
(1)mysqldump:操作方便简单,但是只能基于逻辑上的表结构和表数据恢复,物理删除之后,再用逻辑恢复会报错;也可以作为数据迁移
(2)优点:较物理备份,相对来说占的空间要小得多
(3)缺点:占用空间大
2、命令

备份单个库:mysqldump -u root -p123 --databases test > /opt/test.sql

备份多个库:mysqldump -u root -p123 --databases test test1> /opt/test.sql

备份所有库:mysqldump -u root -p123 --all-databases > /opt/test.sql

3、实验

(1)物理删除数据库,会报错

(2)对多个库一次性备份

(3)备份所有的库

4、只恢复数据表

(1)单个表

(2)多个表

5、mysql的命令

(1)mysql连接执行之后即退出
-e:指定连接mysql之后,执行完命令之后,自动退出

(四)增量备份

1、mysqldump也支持增量备份

  1. 增量备份:没有重复数据,备份量小,时间短
  2. mysqldump增量备份恢复表数据期间,表会锁定
  3. 缺点:备份时锁表,必然会影响业务(超过10G大小,耗时会比较长,导致服务不可用)
  4. mysql提供的二进制日志间接的视线增量备份

2、mysql二进制日志记录格式有三种

(1)STATEMENT:基于sql语句
特点:记录修改的sql语句,高并发情况下,记录sql语句时候的顺序可能会出错,恢复数据时可能会导致丢失和误差,效率比较高
(2)ROW:基于行
特点:精准记录每一行的数据,准确率高,但是恢复时的效率低
(3)MIXED:混合模式,既可以根据sql语句,也可以根据行
特点:在正常情况下使用STATEMENT,一旦发生高并发,会智能自动切换ROW行

3、二进制文件怎么来(修改配置文件)

4、位置恢复(基于位置点进行恢复):

(1)从某一个点开始,恢复到最后
格式:mysqlbinlog --no-defaults --start-position=位置点 文件名 | mysql -u root -p
(2)从开头一直恢复到某个位置
格式:mysqlbinlog --no-defaults --stop-position=位置点 文件名 | mysql -u root -p
(3)从指定点到指定结束点(位置范围)
格式:mysqlbinlog --no-defaults --start-position=位置点 --stop-position=位置点 文件名 | mysql -u root -p
(4)实验

5、时间恢复(基于时间点进行恢复)

(1)从某个事件点开始,恢复到最后
格式:mysqlbinlog --no-defaults --start-datetime=位置点 文件名 | mysql -u root -p
(2)从开头一直恢复到某个时间点
格式:mysqlbinlog --no-defaults --stop-datetime=位置点 文件名 | mysql -u root -p
(3)从指定时间点到指定结束时间点(时间范围)
格式:mysqlbinlog --no-defaults --start-datetime=位置点 --stop-datetime=位置点 文件名 | mysql -u root -p
(4)实验

6、总结

(1)在生产中,通过binlog进行增量恢复是非常好用的方法,只需要对binlog文件进行备份,随时可以进行备份和恢复

(五)配置文件

1、MySQL 的日志默认保存位置为 /usr/local/mysql/data

2、错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启

(1)log-error=/usr/local/mysql/data/mysql_error.log

3、通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的

(1)general_log=ON
(2)general_log_file=/usr/local/mysql/data/mysql_general.log

4、二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启

(1)log-bin=mysql-bin
(2)log_bin=mysql-bin

5、慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化,默认是关闭的

(1)slow_query_log=ON
(2)slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
(3)long_query_time=5(设置慢查询时间,超过5秒记录)

6、查看通用查询日志是否开启:show variables like 'general%';

7、查看二进制日志是否开启:show variables like 'log_bin%';

8、查看慢查询日功能是否开启:show variables like '%slow%';

9、 查看慢查询时间设置:show variables like 'long_query_time';

10、在数据库中设置开启慢查询的方法:set global slow_query_log=ON;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1177610.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

响应式建筑房地产开发企业网站模板源码带后台

模板信息: 模板编号:5635 模板编码:UTF8 模板颜色:红色 模板分类:基建、施工、地产、物业 适合行业:房地产类企业 模板介绍: 本模板自带eyoucms内核,无需再下载eyou系统&#xff0…

webgoat-(A1)SQL Injection

SQL Injection (intro) SQL 命令主要分为三类: 数据操作语言 (DML)DML 语句可用于请求记录 (SELECT)、添加记录 (INSERT)、删除记录 (DELETE) 和修改现有记录 &#xff…

python数据结构和算法基础(第一节,数据结构和算法基础)

01.算法引入 02.时间复杂度和大o表示法 2.1时间复杂度与大o表示法 引入: 2.1时间复杂度与大o表示法 pycharm中,快速多行注释,ctrl/ 2.2最坏时间复杂度与计算规则 2.3常见时间复杂度与大小关系 03.python列表和字典 3.1代码执行时间测量木…

归并排序(c语言代码实现)

归并排序(稳定的排序): 归并排序是一种分治策略的排序算法,其基本思想是将待排序数组分成两个子数组,分别对这两个子数组进行排序,然后合并这两个已经排序好的子数组,最终得到完整的已排序数组…

【C++】万字详解IO流(输入输出流+文件流+字符串流)

文章目录 一、标准输入输出流1.1提取符>>&#xff08;赋值给&#xff09;与插入符<<&#xff08;输出到&#xff09;理解cin >> a理解ifstream&#xff08;读&#xff09; >> a例子 1.2get系列函数get与getline函数细小但又重要的区别 1.3获取状态信息…

以色列战术耳机公司【Silynxcom】申请1000万美元纳斯达克IPO上市

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 猛兽财经获悉&#xff0c;总部位于以色列的战术通信耳机和配件公司Silynxcom Ltd&#xff0c;近期已向美国证券交易委员会&#xff08;SEC&#xff09;提交招股书&#xff0c;申请在纳斯达克IPO上市&#xff0c;股票代码为…

【Mac开发环境搭建】JDK安装、多JDK安装与切换

文章目录 JDK下载与安装下载安装 配置环境变量安装多个JDK共存 JDK下载与安装 下载 Oracle官网提供了非常多个版本的JDK供下载&#xff0c;可以点击如下链接重定向到JDK下载页面 ORACLE官网JDK下载 安装 下面的官方文档可以点开收藏到浏览器的收藏夹&#xff0c;这样后续在开…

纯前端实现的验证码

需求 前端实现验证码输入封装 本质绘制随机数&#xff0c;并进行校验function GVerify(options) { // 创建一个图形验证码对象&#xff0c;接收options对象为参数this.options { // 默认options参数值id: , // 容器IdcanvasId: verifyCanvas, // canvas的IDwidth: 100%, // 默…

windows下使用FCL(Flexible-collision-library)

windows下使用FCL&#xff08;The Flexible-collision-library&#xff09; FCL做为一款开源的碰撞检测库&#xff0c;支持多种基础的几何体&#xff0c;及支持C和python&#xff0c;在windows和linux平台均可以使用。是一款计算高效的碰撞检测工具。在机械臂规划控制框架movei…

Shopee买家通系统一款全自动操作虾皮买家号的软件

Shopee买家通系统可以全自动批量注册虾皮买家号&#xff0c;注册时可以自动调用手机号、自动接收短信验证、自动绑地址及支付卡&#xff0c;注册成功后还能自动绑定邮箱进行验证。 软件支持5个国家使用&#xff0c;越南、泰国、菲律宾、印度尼西亚、马来西亚。 内置防指纹技术 …

jenkins展示html报告样式需要注意的要点

一、jenkins展示html报告样式需要注意的要点 最后&#xff1a;

【Linux】vim

文章目录 一、vim是什么&#xff1f;二 、命令模式三、插入模式四、底行模式五、vim配置 一、vim是什么&#xff1f; Vim是一个强大的文本编辑器&#xff0c;它是Vi的增强版&#xff0c;支持多种语法高亮、插件扩展、多模式操作等功能。Vim有三种基本的工作模式&#xff1a;命…

操作系统——对文件的 基本操作(王道视频p65)

1.总体概述&#xff1a; 2.进程打开文件表 和 系统打开文件表&#xff1a;

产品经理日常工作流程汇总

产品经理在日常的团队工作过程中&#xff0c;承担着重要的衔接作用。由于工作性质的特殊性&#xff0c;产品经理日常工作内容特别繁杂&#xff0c;导致很多产品小白刚一上手&#xff0c;会无从下手&#xff0c;经常丢三落四。这时拥有一个好的工作流程&#xff0c;很大程度上就…

CAD圆锥齿轮画法

大端面的法向是大端模数的标准齿形&#xff0c;然后分度圆线按照45和中心线相交&#xff0c;然后齿顶圆齿根圆的母线和相交点连线。

硕鼠——视频下载利器

相信很多做自媒体、剪辑的同志们&#xff0c;经常会遇到一个棘手的问题&#xff1a;剪辑的素材从何而来。诸如很多高燃混剪的视频&#xff0c;往往需要多个影视作品中的原画来进行二次创作&#xff0c;可是这些视频素材从何而来呢&#xff1f; 有小伙伴们提出&#xff0c;通过录…

【基础IO⑨】:重定向实现原理 “Linux下一切皆文件“

【基础IO⑨】&#xff1a;重定向原理 与 "Linux下一切皆文件" 一.重定向1.实现原理2.输出重定向3.输入重定向4.补充&#xff1a;简易shell中实现重定向 二."Linux下一切皆文件"1.虚拟文件系统(VFS) 一.重定向 我们首先关闭2号文件描述符&#xff0c;然后再…

Apple :苹果将在明年年底推出自己的 AI,预计将随 iOS 18 一起推出

本心、输入输出、结果 文章目录 Apple &#xff1a;苹果将在明年年底推出自己的 AI&#xff0c;预计将随 iOS 18 一起推出前言三星声称库克相关图片弘扬爱国精神 Apple &#xff1a;苹果将在明年年底推出自己的 AI&#xff0c;预计将随 iOS 18 一起推出 编辑&#xff1a;简简单…

MySQL——Centos7下环境安装

目录 0.说明 1. 检查环境&#xff08;systemctl start/stop/restart&#xff09; 2. 检查系统安装包&#xff08;rpm -qa&#xff09; 3. 卸载这些默认安装包&#xff08;yum remove、xargs&#xff09; 4. 获取mysql官方yum源 5. 安装mysql yum源&#xff0c;对比前后yu…