zoukankan      html  css  js  c++  java
  • Windows批处理方式实现MySQL定期自动备份多个数据库

    @title MySQL backup start
    @echo off
    setlocal enabledelayedexpansion
    @color 0a
    :: --------------------参数设置------------------------
    :: 设置时间变量
    set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%"
    :: 要备份的数据库名称,多个用空格分隔
    set DATABASES=database1 database2
    :: HOST IP
    set HOST=127.0.0.1
    :: PROT 端口
    set PROT=3306
    :: MySQL 用户名
    set USERNAME=root
    :: MySQL 密码
    set PASSWORD=123456
    :: MySQL Bin 目录,加 
    :: 如果可以直接使用 mysqldump(安装时添加 MySQL Bin 目录到了环境变量),此处留空即可  D:Javamysqlin
    set MYSQL=
    :: WinRAR 自带命令行工具的可执行文件路径,长文件名注意用 Dos 长文件名书写方式
    set WINRAR=C:Progra~1WinRARRar.exe
    :: 备份天数
    set DT=30
    :: 备份放置的盘,加 
    set BACKUP_PATH=D:
    :: 备份放置的路径,加 
    set FILE=Backup
    :: --------------------开始备份------------------------
    for %%D in (%DATABASES%) do (
         if exist %BACKUP_PATH%%FILE%%%D (
            echo 目录%BACKUP_PATH%%FILE%%%D已存在,无需创建
        ) else (
            echo 创建%BACKUP_PATH%%FILE%%%D        
            md %BACKUP_PATH%%FILE%%%D
        )
        :: 删除
        forfiles /p "%BACKUP_PATH%%FILE%%%D" /m %%D_*.sql -d -%DT% /c "cmd /c del /f @path"
        cd %MYSQL%
        :: 备份
        mysqldump --opt --single-transaction=TRUE --user=%USERNAME% --password=%PASSWORD% --host=%HOST% --protocol=tcp --port=%PROT% --default-character-set=utf8 --single-transaction=TRUE --routines --events "%%D" > %BACKUP_PATH%%FILE%%%D\%%D_%Ymd%.sql
    )
    :: --------------------结束备份------------------------
    @echo on

    新建一个批处理文件,如:mysql_backup_tool.bat,文件内容如上:

    创建Windows计划任务

    开始菜单找到任务计划程序并打开。

    创建任务

    新建触发器

    新建操作

    运行任务即可。

  • 相关阅读:
    电容
    IC行业常见用语
    MOSFET 的 I / V 特性曲线
    MOS 预夹断到底是什么
    [ Skill ] 如何 flatten 一个 list
    Metal 线宽如何选择
    [ Skill ] 如何读取一个文件并打印出来
    PHP 当前时间秒数+数值,然后再转换成时间。
    PHP HTTP GET POST
    做一个菜鸟,写一些自己自己编程错误的地方。个人所遇到的问题 保存处
  • 原文地址:https://www.cnblogs.com/sumlen/p/11812550.html
Copyright © 2011-2022 走看看