【七天入门数据库】第五天 MySQL的备份恢复

news/2024/11/28 12:55:11/

系列文章传送门:

【七天入门数据库】第一天 MySQL的安装部署

【七天入门数据库】第二天 数据库理论基础

【七天入门数据库】第三天 MySQL的库表操作

【七天入门数据库】第四天 数据操作语言DML

一、日志管理

(一)日志类型

  • 错误日志:记录启动、运行或停止时出现的问题
  • 查询日志:记录建立的客户端连接和执行的语句
  • 二进制日志:记录所有更改数据的语句。主要用于复制和即时点恢复
  • 慢日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询
  • 事务日志:记录InnoDB等支持事务的存储引擎执行事务时产生的日志

       默认情况下,所有日志创建于mysqld数据目录中。通过刷新日志,你可以强制 mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。当你执行一个FLUSH LOGS语句或执行mysqladmin flush-logsmysqladmin refresh时,出现日志刷新。如果你正使用MySQL复制功能,从复制服务器将维护更多日志文件,被称为接替日志。

日志刷新命令:mysqladmin -u root -p '密码'  flush-logs(或者在mysql里输入flush logs)

(二)错误日志

错误日志主要记录如下几种日志:

  • 服务器启动和关闭过程中的信息

  • 服务器运行过程中的错误信息

  • 事件调度器运行一个时间是产生的信息

  • 在从服务器上启动从服务器进程是产生的信息

查看错误日志的配置:SHOW GLOBAL VARIABLES LIKE '%log_error%';

(三)通用查询日志

  • 启动开关:general_log={ON|OFF}
  • 全局日志开关:log={ON|OFF} 该开关打开后,所有日志都会被启用
  • 记录类型:log_output={TABLE|FILE|NONE}
  • 查看默认配置:SHOW GLOBAL VARIABLES LIKE '%general_log%';
  • 查看记录类型:SHOW GLOBAL VARIABLES LIKE '%log_output%';

因此,要启用通用查询日志,需要至少配置general_log=ON,log_output={TABLE|FILE}。而general_log_file如果没有指定,默认名是host_name.log。

(四)慢查询日志

  • 开启命令:SET GLOBAL slow_query_log=ON;  
  • 查看慢查询情况:SHOW GLOBAL VARIABLES LIKE '%slow_query_log%';
  • 查看定义的long_query_time时间:SHOW GLOBAL VARIABLES LIKE 'long_query_time';

(五)二进制日志

  • 二进制日志启动开关:log-bin [= 文件名]
  • 查看二进制日志的工具为:mysqlbinlog
  • 日志滚动:超过日志最大尺寸后会进行滚动
  • 查看某个二进制日志文件:SHOW BINARY LOGS in 'binlog.000002';
  • 查看二进制日志内容:mysql> SHOW BINLOG EVENTS IN 'mysqld-binlog.000002';
  • 二进制日志还原数据:mysqlbinlog mysqld-binlog.000002 >/root/temp_date.sql(使用mysqlbinlog读取需要的日志内容,使用标准输入重定向到一个sql文件,然后在mysql服务器上导入即可)

二、MySQL的备份

(一)备份类型

根据服务器状态,可以分为热备份、温备份、冷备份

  • 热备份:读、写不受影响;

  • 温备份:仅可以执行读操作;

  • 冷备份:离线备份;读、写操作均中止;

(二)备份内容

  • 数据文件
  • 日志文件(比如事务日志,二进制日志)
  • 存储过程,存储函数,触发器
  • 配置文件(十分重要,各个配置文件都要备份)
  • 用于实现数据库备份的脚本,数据库自身清理的Crontab等……

(三)备份工具

       mysqldump,是mysql数据库管理系统,自带的逻辑备份工具,支持所有引擎,MyISAM引擎是温备,InnoDB引擎是热备,备份速度中速,还原速度非常非常慢。但是在实现还原的时候,具有很大的操作余地。具有很好的弹性。

       mysqlhotcopy 物理备份工具,但只支持MyISAM引擎,基本上属于冷备的范畴,物理备份,速度比较快。mysql5.7已经没有这个命令了,多用于mysql5.5之前。mysqlhotcopy使用lock tables、flush tables和cp或scp来快速备份数据库或单个表,属于裸文件备份(物理备份),只能用于MyISAM引擎的数据库。本质是使用锁表语句,然后cp或scp。

(四)通过备份恢复数据

1、备份:mysqladmin -u root -p '密码' --default-character-set=utf8-mb4 -B 库名 >/root/sql文件名1

2、全量备份恢复:mysql -u root -p '密码' < sql文件名1

3、找增量日志:cp /var/lib/mysql  (去找最后一个binlog文件)

4、增量日志转换为sql:mysqlbinlog binlog.000019 > /root/sql文件名2

5、增量恢复:mysql -u root -p '密码' < sql文件名2

都看到这里了,创作不易,大家点个赞走啦!!- ̗̀(๑ᵔ⌔ᵔ๑)


http://www.ppmy.cn/news/978055.html

相关文章

【Spring Boot Admin】介绍以及使用

介绍 概述 Spring Boot Admin是一个监控工具&#xff0c;旨在以一种漂亮且易于访问的方式可视化Spring Boot Actuators提供的信息。 主要功能点 显示应用程序的监控状态应用程序上下线监控查看 JVM&#xff0c;线程信息可视化的查看日志以及下载日志文件动态切换日志级别Http…

解析 WebRTC

1 主要的类 RTCPeerConnection&#xff1a;用于建立点对点连接&#xff0c;实现音视频传输和数据通信。它负责协商媒体传输的参数、处理ICE候选项以及创建和管理媒体通道。 RTCDataChannel&#xff1a;用于在两个端点之间传输任意类型的数据。通过该通道&#xff0c;可以实现…

Unity 之 错误的停止协程的方式

相信很多人都会这样开启一个协程 StartCoroutine(Cor_1()); 这样确实没啥毛病&#xff0c;那么怎么关掉这个协程呢&#xff0c;是不是在想也是一样的传cor_1()这个参数&#xff0c;然后start对应stop,试着输入stopCor....诶&#xff0c;代码提示有这个方法喔&#xff0c;然后…

SpringBoot-Mybatis整合+Restful风格 + (CRUD简单案例)

SpringBoot-Mybatis整合 基本步骤数据库设计数据库表设计pom.xml文件坐标SpringBoot配置配置SpringBoot 启动器类配置数据源(数据库)日志 驼峰映射 访问路径和端口 等引入前端页面搭建后端包结构业务逻辑(Restful风格)前端请求的四种方式(GET POST PUT DELETE)GET DELETEPO…

UDS之11服务

11服务&#xff1a; 功能&#xff1a;控制MCU进行重启&#xff0c;重启分为硬重启和软重启&#xff0c;11服务一般代表软重启&#xff0c;虽然它里面有个子服务是硬件重启&#xff0c;这里需要注意下&#xff1b;硬重启在日常工作中一般代表B重启。命令格式&#xff08;请求&am…

【LeetCode 算法】Jewels and Stones 宝石与石头

文章目录 Jewels and Stones 宝石与石头问题描述&#xff1a;分析代码 Tag Jewels and Stones 宝石与石头 问题描述&#xff1a; 给你一个字符串 jewels 代表石头中宝石的类型&#xff0c;另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头…

react-draft-wysiwyg富文本编辑器

在React项目中使用 yarn add react-draft-wysiwyg draft-js or npm i react-draft-wysiwyg draft-js推荐在项目中单独创建一个富文本编辑器组件 import { Editor } from "react-draft-wysiwyg"; import { EditorState, convertToRaw, ContentState } from draft-js…

Pytorch从入门到精通:二、dataset与datalodar

数据是深度学习的基础&#xff0c;一般来说&#xff0c;数据量越大&#xff0c;训练出来的模型也越强大。如果现在有了一些数据&#xff0c;该怎么把这些数据加到模型中呢&#xff1f;Pytorch中提供了dataset和dataloader&#xff0c;让我们一起来学习一下吧&#xff0c;datase…