Windows环境下全盘备份MySQL数据库

Windows系统中对MySQL数据库的全面备份操作

目标

  1. 运用mysqldump工具来实施数据库的备份工作
  2. 自动获取所有的数据库并按照不同文件夹来进行备份存储
  3. 自动查找7zip并对备份进行压缩保存
  4. 自动清理90天之前的备份数据

以下是基于bat的完整代码

@echo off
REM 对MySQL相关配置进行设定
set MYSQL_PATH="C:\Program Files\MySQL\MySQL Server 8.1\bin\mysqldump.exe"
set DB_USER=root
set DB_PASS=sa123!SA
set BACKUP_ROOT=D:\backData

REM 生成时间戳(格式:YYYYMMDD_HHmmss)
set TIMESTAMP=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
set TIMESTAMP=%TIMESTAMP: =0%

REM 获取数据库列表(排除系统库)
for /f "usebackq skip=1 tokens=*" %%d in (`mysql -u%DB_USER% -p%DB_PASS% -e "SHOW DATABASES;"`) do (
    set "db=%%d"
    if not "%%d"=="information_schema" (
        if not "%%d"=="mysql" (
            if not "%%d"=="performance_schema" (
                if not "%%d"=="sys" (
                    REM 动态生成专属备份目录
                    if not exist %BACKUP_ROOT%\%%d (
                        mkdir %BACKUP_ROOT%\%%d
                    )

                    REM 执行分库备份
                    %MYSQL_PATH% --user=%DB_USER% --password=%DB_PASS% %%d > %BACKUP_ROOT%\%%d\%%d_%TIMESTAMP%.sql

                    REM 可选:压缩备份文件
                    if exist "C:\Program Files\7-Zip\7z.exe" (
                        "C:\Program Files\7-Zip\7z.exe" a -t7z %BACKUP_ROOT%\%%d\%%d_%TIMESTAMP%.7z %BACKUP_ROOT%\%%d\%%d_%TIMESTAMP%.sql
                        del %BACKUP_ROOT%\%%d\%%d_%TIMESTAMP%.sql

                        forfiles /p "%BACKUP_ROOT%\%%d" /m *.7z /d -90 /c "cmd /c del @path"
                    ) else (
                        forfiles /p "%BACKUP_ROOT%\%%d" /m *.sql /d -90 /c "cmd /c del @path"
                    )
                )
            )
        )
    )
)

REM 记录备份日志
echo [%DATE% %TIME%] 分库备份完成 >> %BACKUP_ROOT%\backup.log

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/12608.html

(0)
LomuLomu
上一篇 8小时前
下一篇 2025 年 1 月 11 日

相关推荐

  • 全网最适合入门的面向对象编程教程:60 Python面向对象综合实例-传感器数据实时绘图器

    全网最适合入门的面向对象编程教程:60 Python 面向对象综合实例-传感器数据实时绘图器 摘要: 本文将结合之前内容实现模拟一个传感器系统软件,包括三个线程:传感器线程生成数据并通过串口发送给主机进程;主机进程通过串口接收指令,进行数据滤波和处理后,将处理结果发送给绘图线程;绘图线程负责接收数据并绘制更新数据曲线。 原文链接: FreakStudio的博…

    2024 年 12 月 24 日
    18600
  • pycharm激活码,pycharm2024激活教程(win,mac)

    pycharm激活码,pycharm2024激活教程(win,mac) 本教程适用于IDEA、PyCharm、DataGrip、Goland等,支持Jetbrains全家桶! 直接进入正题,先上最新PyCharm版本破解成功的截图,如下展示,可以看到已经成功破解到 2099 年辣,舒服! 接下来,接下来我会用图加文字, 来详细讲解如何激活 PyCharm至 …

    2025 年 4 月 9 日
    20300
  • 2025最新PyCharm永久激活码及破解教程(亲测有效,支持2099年)🔥

    本教程适用于JetBrains全家桶,包括IDEA、PyCharm、DataGrip、Golang等所有产品!💯 先给大家看看最新版PyCharm成功破解到2099年的效果图,是不是很给力?😎 下面我就手把手教你如何轻松激活PyCharm,这个方法适用于所有操作系统和版本哦!✨ 第一步:下载PyCharm安装包 已经安装的童鞋可以跳过这步~ 访问PyChar…

    2025 年 5 月 19 日
    21400
  • 使用 gt-checksum 迁移表结构到 GreatSQL

    将数据库表结构迁移至 GreatSQL 的指南 引言 本文旨在指导如何利用 gt-checksum 工具,将数据库表结构从 ORACLE 迁移至 GreatSQL。 gt-checksum 简介 gt-checksum 是 GreatSQL 社区开发的开源静态数据库校验和修复工具,它支持包括 MySQL 和 Oracle 在内的多种主流数据库系统。其商业版本…

    未分类 2024 年 12 月 24 日
    35100
  • 常见的图形库对比 Echarts Highcharts AntV

    图形库 图形库 特点 图表类型 适用场景 依赖项 官网/文档 ECharts 功能丰富,支持大规模数据,交互性强 折线图、柱状图、饼图、地图、雷达图、散点图、热力图等 复杂数据可视化 无 https://echarts.apache.org/ Chart.js 简单易用,轻量级,支持响应式设计 折线图、柱状图、饼图、雷达图、散点图等 简单图表,快速开发 无 …

    未分类 2025 年 1 月 11 日
    28000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信