当前位置: 首页 > news >正文

Windows下mysql数据库备份策略

Windows下mysql的增量备份和全量备份,并利用schtasks设置定时任务执行bat脚本。

一、备份要求

序号

备份类型

备份频次

备份时间

1

增量备份

每周一-每周六各一次

18:00:00

2

全量备份

每周日一次

18:00:00

二、备份方法

2.1增量备份

2.1.1准备工作

首先在进行增量备份之前需要查看一下配置文件,查看log_bin是否开启 。首先,进入到 mysql 命令行,输入如下命令:show variables like '%log_bin%';

如下命令所示,则为未开启

修改配置文件my.ini

修改之后,重启 mysql 服务,输入:show variables like '%log_bin%';

如下证明已开启

2.1.2增量备份

查看当前使用的 logbin.000*** 日志文件,输入:show master status;

状态如下:

当前正在记录日志的文件名为 logbin.000011 。

增量备份的关键命令:通过执行如下命令,使用新的日志文件:mysqladmin -uroot -123456 flush-logs

如此,已经完成增量备份,下面用脚本实现。

2.1.3创建脚本

  • Incremental_backup.bat

@echo off

::服务器数据库 用户名 密码

set suser=root

set suserpwd=yourpassword(需要根据实际数据库登录密码填写)

::mysql 二进制日志文件存放的位置

set filePath=E:\mysql-5.7.32-winx64\backup

::当前系统日期 20210804

set now=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%

::备份文件夹

set backup=E:\mysql-5.7.32-winx64\backup

if not exist %backup% md %backup%

::以日期命名的文件夹

set nowfile=%backup%\%now%-Increase

if not exist %nowfile% md %nowfile%

::前一次日志文件名

set logbin=%nowfile%\logbin.txt

mysql -u%suser% -p%suserpwd% -e "show master status"|findstr -B logbin.>%logbin%

::处理日志文件名  复制到目标文件夹

FOR /F "delims= " %%i in (%logbin%) do  copy %filePath%\%%i %nowfile%

::刷新日志产生新的日志

mysqladmin -u%suser% -p%suserpwd% flush-logs

exit

2.1.4执行schtasks定时计划

1.创建定时计划,在cmd中执行以下命令:

schtasks /create /tn "Incremental Backup" /tr "D:\code\Incremental_backup.bat" /sc WEEKLY /mo 1 /d MON,TUE,WED,THU,FRI,SAT /st 18:00:00 /ed 2100/12/31

2.查看已创建的定时计划,在cmd中执行以下命令查询:

schtasks /query

2.2全量备份

2.2.1创建脚本

::******Backup MySQL Start******

@echo off

::设置时间变量

set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%"

::本机安装的mysql的bin目录路径

set mysqlBinPath=E:\mysql-5.7.32-winx64\bin\

::备份文件存储的目标路径

set backupPath=E:\mysql-5.7.32-winx64\backup

::备份文件的名字前半部分-后半部分使用的是上面的时间参数

set backupFileName=Full_backup_

::备份文件的保存天数1

set days=1

::要备份的数据库服务器的ip

set host=127.0.0.1

::要备份的数据库服务器的端口

set port=3306

::要备份的数据库登录名

set user=root

::要备份的数据库登录密码

set password=yourpassword(需要根据实际数据库登录密码填写)

::要备份的数据库名

set dbName=test(需要根据实际数据库名填写)

::默认的字符集

set charSet=utf8

::创建存储的文件夹

if not exist %backupPath% md %backupPath%

::根据上面设置的days参数删除以前的备份数据

forfiles /p "%backupPath%" /m %backupFileName%*.sql /d -%days% /c "cmd /c del @path"

::进入mysql安装目录的bin目录下

cd %mysqlBinPath%

::执行备份操作

mysqldump --opt --single-transaction=TRUE --user=%user% --password=%password% --host=%host% --protocol=tcp --port=%port% --default-character-set=%charSet% --routines --events %dbName% > %backupPath%\%backupFileName%%Ymd%.sql

echo %backupPath%\%backupFileName%%Ymd%.sql

@echo on

::******Backup MySQL End******

2.2.2执行schtasks定时计划

 1.创建定时计划,在cmd中执行以下命令:

schtasks /create /tn "Full Backup" /tr "D:\code\Full_backup.bat" /sc WEEKLY /mo 1 /d SUN /st 18:00:00 /ed 2100/12/31

 2.查看已创建的定时计划,在cmd中执行以下命令查询:

schtasks /query

三、备份文件查看

1. 确定index文件和日志文件。index文件打开可以看到日志文件的列表;000001文件才是增量日志,是二进制的,直接打开无法查看,需要用mysqlbinlog命令打开,打开后可以看到日志信息

2. 执行命令 mysqlbinlog D:\mysql-5.7.32-winx64\backup\logbin.000001

四、备份文件查看

4.1按时间点恢复

  1. 确定需要恢复的时间点,如2022-04-22 16:32:59
  2. 执行按时间点恢复命令: mysqlbinlog --no-defaults --stop-datetime="2022-04-22 16:32:59" D:\mysql-5.7.32-winx64\backup\logbin.000001|mysql -uroot -proot
  3. 查看数据库中数据是否已经被恢复
  4. 补充指定恢复的参数

--start-datetime="2020-04-30 15:29:05"(从这个时间点开始,包含这个时间点)

--stop-datetime="2020-04-30 15:29:05"(这个时间点之前,不包含这个时间点)

--start-position="591" (从这个点开始,包含这个位置点)

--stop-position="591" (这个位置点之前,不包含这个位置点)

4.2按位置点恢复

1.确定需要恢复的位置点(位置指的是增量日志文件中 at 后面的数字)

2.执行按位置点恢复的命令行:mysqlbinlog --no-defaults --stop-position="959" D:\mysql-5.7.32-winx64\backup\logbin.000001|mysql -uroot -proot

3.查看数据库中数据是否已经被恢复

相关文章:

Windows下mysql数据库备份策略

Windows下mysql的增量备份和全量备份,并利用schtasks设置定时任务执行bat脚本。 一、备份要求 序号 备份类型 备份频次 备份时间 1 增量备份 每周一-每周六各一次 18:00:00 2 全量备份 每周日一次 18:00:00 二、备份方法 2.1增量备份 2.1.1准备工作…...

基于SSM的校园美食交流系统【附源码】

基于SSM的校园美食交流系统 效果如下: 管理员主页面 用户主页面 美食信息页面 美食资讯页面 修改密码页面 论坛中心页面 研究背景 随着高校信息化建设的不断推进,校园生活日益丰富多样,学生对于美食的需求与探索也愈发旺盛。然而&#xff…...

2024 年Postman 导入和导出 cURL 命令图文教程

Postman 导入和导出 cURL 命令图文教程...

ArcGIS从Excel表格文件导入XY数据并定义坐标系与投影的方法

本文介绍在ArcMap软件中,从Excel表格文件中批量导入坐标点数据,将其保存为.shp矢量格式,并定义坐标系、转为投影坐标系的方法。 已知我们有一个Excel表格文件(可以是.xls、.xlsx、.csv等多种不同的表格文件格式)&#…...

【vue】echarts地图添加蒙版图片,多图层地图实现天气信息展示

实现原理&#xff1a;多层图层叠加实现复杂的信息展示。 <template><div class"wrapper"><el-drawertitle"天气信息":modal"iszz":visible.sync"weatherinfo":direction"direction"><drawer:labelnam…...

MyBatis几种SQL写法

目录 1. 批量操作:通过标签支持批量插入 2. 批量操作:通过标签支持批量更新 3. 批量操作&#xff1a;通过标签支持批量删除 4. 动态SQL 3. 多条件分支查询 4. SQL语句优化&#xff1a;使用标签避免多余的AND或OR关键字。 5. 注解方式使用MyBatis 6. 一对多 7. 多对一&…...

蓝牙音响音频功放:【矽源特HAA9809 AB+D类自动切换】

目录 1&#xff1a;HAA9809特性 2&#xff1a;典型应用电路 3&#xff1a;CTRL管脚控制信息 4&#xff1a;一线脉冲控制方式 5&#xff1a;输入电阻&#xff0c;调节放大增益 6&#xff1a;输入电容&#xff0c;调节频响 7&#xff1a;总结 矽源特ChipSourceTek-HAA9809…...

Webpack知识点—publicPath

文章目录 一、publicPath的定义和作用二、publicPath的配置方式三、publicPath的注意事项四、publicPath的常见问题和解决方法五、Vite 如何修改publicPathWebpack的publicPath是一个重要的配置项,它用于指定打包后生成的静态资源文件在浏览器中的访问路径。 一、publicPath的…...

【JAVA】Java基础—面向对象编程:构造方法的重载

在Java中&#xff0c;构造方法的重载允许一个类定义多个构造方法&#xff0c;这些构造方法可以具有不同的参数列表。通过构造方法的重载&#xff0c;我们可以根据不同的需求创建对象&#xff0c;并以不同的方式初始化对象的属性。 我们可以将构造方法的重载比作一个餐厅的菜单…...

科研绘图系列:R语言多图形组合(barplot boxplot stacked plots)

文章目录 介绍加载R包数据下载图:Barplot图:Boxplot per elemental composition图:网络的边数目图:Clusters - elemental composition合并图形系统信息介绍 R语言多个图形组合 加载R包 library(tidyverse) library(ggpubr) library(rstatix) library(patchwork)数据下载…...

诡异的win11远程桌面连接一闪而过

客户端win10&#xff0c;服务器端是win2019 上面的仅允许允许使用网络级别身份验证的也勾掉了。 mstsc和mstsc -admin远程桌面连接&#xff0c;输入ip点连接后闪退&#xff0c;根本不弹出用户密码输入。但有人也是win10却可以连&#xff0c;也不知道自己的win10有啥差异的地方。…...

基因组编辑与CRISPR技术:基因治疗的革命性突破

引言 基因组编辑技术的出现&#xff0c;尤其是CRISPR-Cas9技术的问世&#xff0c;极大地推动了生物医学研究和基因治疗的发展。这一技术不仅为基础科学研究提供了强大的工具&#xff0c;也为治疗遗传性疾病、癌症以及某些病毒感染开辟了新的治疗思路。基因组编辑技术可以精准地…...

智能检测技术与传感器(热电传感器四个定律)

热电传感器&#xff1a; 两种不同的导体两端相互紧密地连接在一起&#xff0c;组成一个闭合回路。当两接点温度不等时&#xff08;设 &#xff09;&#xff0c;回路中就会产生大小和方向与导体材料及两接点的温度有关的电动势&#xff0c;从而形成电流&#xff0c;这种现象称为…...

C# WPF FontDialog字体对话框,ColorDialog颜色对话框 引用

WPF 并没有内置FontDialog和ColorDialog&#xff0c;但可以通过引用 Windows Forms 的控件来实现字体和颜色选择对话框功能。FontDialog 允许用户选择字体、样式、大小等设置。 添加 Windows Forms的引用 项目工程&#xff1a;右键“引用”》“添加引用”》勾选System.Window…...

在unity中实现把普通的照片,图片 变成油画风格的shader实现

可以通过对shader的Radius的值得设置来改变油画风格的力度&#xff0c;0最小&#xff0c;10是最大。...

使用elementUI实现表格行拖拽改变顺序,无需引入外部库

前言&#xff1a; 使用vue2element UI&#xff0c;且完全使用原生的拖拽事件,无需引入外部库。 如果表格数据量较大&#xff0c;或需要更多复杂功能&#xff0c;可以考虑使用 vuedraggable库&#xff0c;提供更多配置选项和拖拽功能。 思路&#xff1a; 1. 通过el-table的ro…...

PySpark 数据处理实战:从基础操作到案例分析

Spark 的介绍与搭建&#xff1a;从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交&#xff1a;本地与集群模式全解析-CSDN博客 Spark on YARN&#xff1a;Spark集群模式…...

恒源云使用手册记录:从服务器下载数据到本地

文章目录 一、xftp下载二、通过Xftp客户端连接站点 一、xftp下载 先下载xftp&#xff1a;下载连接 二、通过Xftp客户端连接站点 右击文件&#xff0c;点击新建 名称可以任意 主机、端口号、用户名 点击这里的复制登录命令 比如我这里得到ssh -p 41604 rooti-2.gpushare.co…...

【大咖云集 | IEEE计算智能学会广州分会支持】第四届信息技术与当代体育国际学术会议(TCS 2024,12月13-15日)

第四届信息技术与当代体育国际学术会议&#xff08;TCS 2024&#xff09; 2024 4th International Conference on Information Technology and Contemporary Sports 重要信息 会议官网&#xff1a;www.icitcs.net&#xff08;会议关键词&#xff1a;TCS 2024&#xff09; 202…...

【AI声音克隆整合包及教程】第二代GPT-SoVITS V2:技术、应用与伦理思考

一、引言 在当今科技迅速发展的时代&#xff0c;声音克隆技术成为人工智能领域的一个备受瞩目的分支。GPT-SoVITS V2作为一种声音克隆工具&#xff0c;正逐渐进入人们的视野&#xff0c;它在多个领域展现出巨大的潜力&#xff0c;同时也引发了一系列值得深入探讨的问题。本文旨…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...