服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - Windows环境MySQL自动备份脚本

Windows环境MySQL自动备份脚本

2023-05-12 01:01未知服务器之家 Mysql

背景 前段时间发布了一篇linux环境的mysql备份脚本,因为linux作为数据库服务器是目前市场的主流。现应网友粉丝要求,分享一下windows环境mysql的备份脚本。 备份需求 每个库单独一个文件 压缩备份文件 晚上23点定时备份 解决方案

Windows环境MySQL自动备份脚本

背景

前段时间发布了一篇linux环境的mysql备份脚本,因为linux作为数据库服务器是目前市场的主流。现应网友粉丝要求,分享一下windows环境mysql的备份脚本。

备份需求

  • 每个库单独一个文件
  • 压缩备份文件
  • 晚上23点定时备份

解决方案

创建一个MySQL备份脚本mysql_backup.bat,并在Windows任务计划程序中设置自动执行。

1、创建一个新的文本文件,保存为mysql_backup.bat。

2、编辑mysql_backup.bat,将以下内容复制到文件中。

@echo off
setlocal enabledelayedexpansion

:: 设置MySQL可执行文件、登录信息和备份目录
set MYSQL_BIN_PATH="C:\Program Files\MySQL\MySQL Server 8.0\bin"
set MYSQL_USER=root
set MYSQL_PASSWORD=your_password
set BACKUP_DIR="C:\mysql_backups"

:: 设置日期格式为 yyyy-MM-dd
for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set date=%%c-%%a-%%b)
set TIMESTAMP=%date%

:: 创建备份目录
if not exist %BACKUP_DIR% (mkdir %BACKUP_DIR%)

:: 获取所有数据库列表
"%MYSQL_BIN_PATH%\mysql.exe" --user=%MYSQL_USER% --password=%MYSQL_PASSWORD% --execute="SHOW DATABASES;" --skip-column-names > %BACKUP_DIR%\databases.txt

:: 备份每个数据库并压缩
for /F "tokens=*" %%A in (%BACKUP_DIR%\databases.txt) do (
  if not "%%A"=="information_schema" (
    if not "%%A"=="performance_schema" (
      if not "%%A"=="mysql" (
        if not "%%A"=="sys" (
          echo Backing up %%A...
          "%MYSQL_BIN_PATH%\mysqldump.exe" --user=%MYSQL_USER% --password=%MYSQL_PASSWORD% --databases %%A --result-file=%BACKUP_DIR%\%%A_%TIMESTAMP%.sql
          "%MYSQL_BIN_PATH%\gzip.exe" %BACKUP_DIR%\%%A_%TIMESTAMP%.sql
        )
      )
    )
  )
)

:: 删除数据库列表文件
del %BACKUP_DIR%\databases.txt

echo Backup completed.

注意:根据实际情况修改MYSQL_BIN_PATH、MYSQL_USER、MYSQL_PASSWORD和BACKUP_DIR变量。

3、创建一个新的任务计划程序。

  • 打开“控制面板”并选择“任务计划程序”。
  • 在右侧操作栏中点击“创建基本任务”。
  • 输入任务名称和描述,然后点击“下一步”。
  • 选择“每天”,点击“下一步”。
  • 设置开始时间为晚上23点,点击“下一步”。
  • 选择“启动程序”,点击“下一步”。
  • 点击“浏览”,选择mysql_backup.bat文件,然后点击“下一步”。
  • 点击“完成”以创建任务。

现在,每天晚上23点,任务计划程序将自动执行mysql_backup.bat脚本,备份所有MySQL数据库并将每个数据库备份单独压缩为一个文件。

延伸 · 阅读

精彩推荐
  • Mysqlmysql 不能插入中文问题

    mysql 不能插入中文问题

    当向mysql5.5插入中文时,会出现类似错误 ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column ...

    MYSQL教程网5722019-11-25
  • MysqlERROR: Error in Log_event::read_log_event()

    ERROR: Error in Log_event::read_log_event()

    ERROR: Error in Log_event::read_log_event(): read error, data_len: 438, event_type: 2 ...

    MYSQL教程网6412020-03-13
  • MysqlMySQL 数据备份与还原的示例代码

    MySQL 数据备份与还原的示例代码

    这篇文章主要介绍了MySQL 数据备份与还原的相关知识,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    逆心2972019-06-23
  • MysqlMySQL数据库varchar的限制规则说明

    MySQL数据库varchar的限制规则说明

    本文我们主要介绍了MySQL数据库中varchar的限制规则,并以一个实际的例子对限制规则进行了说明,希望能够对您有所帮助。 ...

    mysql技术网4192019-11-23
  • Mysql详解MySQL中的分组查询与连接查询语句

    详解MySQL中的分组查询与连接查询语句

    这篇文章主要介绍了MySQL中的分组查询与连接查询语句,同时还介绍了一些统计函数的用法,需要的朋友可以参考下 ...

    GALAXY_ZMY5442020-06-03
  • Mysql解决MySQl查询不区分大小写的方法讲解

    解决MySQl查询不区分大小写的方法讲解

    今天小编就为大家分享一篇关于解决MySQl查询不区分大小写的方法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起...

    Veir_dev5592019-06-25
  • MysqlMySQL锁的知识点总结

    MySQL锁的知识点总结

    在本篇文章里小编给大家整理了关于MySQL锁的知识点总结以及实例内容,需要的朋友们学习下。...

    别人放弃我坚持吖4362020-12-14
  • Mysql浅谈mysql 树形结构表设计与优化

    浅谈mysql 树形结构表设计与优化

    在诸多的管理类,办公类等系统中,树形结构展示随处可见,本文主要介绍了mysql 树形结构表设计与优化,具有一定的参考价值,感兴趣的小伙伴们可以参...

    小码农叔叔5242021-11-16