windows环境mysql自动备份脚本

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

  • 每个库单独一个文件
  • 压缩备份文件
  • 晚上23点定时备份
解决方案【windows环境mysql自动备份脚本】创建一个MySQL备份脚本mysql_backup.bat,并在Windows任务计划程序中设置自动执行 。
1、创建一个新的文本文件,保存为mysql_backup.bat 。
2、编辑mysql_backup.bat,将以下内容复制到文件中 。
@echo offsetlocal enabledelayedexpansion:: 设置MySQL可执行文件、登录信息和备份目录set MYSQL_BIN_PATH="C:Program FilesMySQLMySQL Server 8.0bin"set MYSQL_USER=rootset MYSQL_PASSword=your_passwordset BACKUP_DIR="C:mysql_backups":: 设置日期格式为 yyyy-MM-ddfor /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.txtecho Backup completed.注意:根据实际情况修改MYSQL_BIN_PATH、MYSQL_USER、MYSQL_PASSWORD和BACKUP_DIR变量 。
3、创建一个新的任务计划程序
  • 打开“控制面板”并选择“任务计划程序” 。
  • 在右侧操作栏中点击“创建基本任务” 。
  • 输入任务名称和描述,然后点击“下一步” 。
  • 选择“每天”,点击“下一步” 。
  • 设置开始时间为晚上23点,点击“下一步” 。
  • 选择“启动程序”,点击“下一步” 。
  • 点击“浏览”,选择mysql_backup.bat文件,然后点击“下一步” 。
  • 点击“完成”以创建任务 。
现在,每天晚上23点,任务计划程序将自动执行mysql_backup.bat脚本,备份所有MySQL数据库并将每个数据库备份单独压缩为一个文件 。




    推荐阅读