zoukankan      html  css  js  c++  java
  • windows下mysql数据库自动备份功能

    windows下mysql数据库自动备份功能

    一,利用脚本备份

    实现的特性
    ①,可指定多个数据库
    ②,按照 年/月/日 的方式组织备份
    ③,可选的使用 WinRAR 压缩备份
    ④,使用计划任务实现定时备份

    原理

    利用windows批处理脚本(.bat文件)执行mysql 数据库备份命令 mysqldump ,若指定了winrar 安装路径,则会使用winrar 压缩备份数据。双击 .bat 文件可执行 

    ①,备份数据库数据

    标黄颜色的地方,是需要读者自行修改成你自己的配置信息的,保存以下文件内容为 backup.bat 文件

     
    @echo off & setlocal ENABLEEXTENSIONS 
    
    :: ---------- 配置项 ---------- 
    
    :: 备份放置的路径,加  
    set BACKUP_PATH=D:Backup 
    
    :: 要备份的数据库名称,多个用空格分隔 
    set DATABASES=database1 database2 database3 
    
    :: MySQL 用户名 
    set USERNAME=root 
    
    :: MySQL 密码 
    set PASSWORD=123456 
    
    :: MySQL Bin 目录,加  
    :: 如果可以直接使用 mysqldump(安装时添加 MySQL Bin 目录到了环境变量),此处留空即可 
    set MYSQL=D:SERVERMySQLin 
    
    :: WinRAR 自带命令行工具的可执行文件路径,长文件名注意用 Dos 长文件名书写方式 
    set WINRAR=C:Progra~1WinRARRar.exe 
    
    :: ---------- 以下请勿修改 ---------- 
    
    set YEAR=%date:~0,4% 
    set MONTH=%date:~5,2% 
    set DAY=%date:~8,2% 
    :: 如果在 dos 下输入 time 返回的不是 24 小时制(没有 0 填充),请自行修改此处 
    set HOUR=%time:~0,2% 
    set MINUTE=%time:~3,2% 
    set SECOND=%time:~6,2% 
    
    set DIR=%BACKUP_PATH%%YEAR%\%MONTH%\%DAY% 
    set ADDON=%YEAR%%MONTH%%DAY%%HOUR%%MINUTE%%SECOND% 
    
    :: create dir 
    if not exist %DIR% ( 
    mkdir %DIR% 2>nul 
    ) 
    if not exist %DIR% ( 
    echo Backup path: %DIR% not exists, create dir failed. 
    goto exit 
    ) 
    cd /d %DIR% 
    
    :: backup 
    echo Start dump databases... 
    for %%D in (%DATABASES%) do ( 
    echo Dumping database %%D ... 
    %MYSQL%mysqldump -u%USERNAME% -p%PASSWORD% %%D > %%D.%ADDON%.sql 2>nul 
    :: winrar 
    if exist %WINRAR% ( 
    %WINRAR% a -k -r -s -m1 -ep1 %%D.%ADDON%.rar %%D.%ADDON%.sql 2>nul 
    del /F /S /Q %%D.%ADDON%.sql 2>nul 
    ) 
    ) 
    echo Done 
    
    :exit 

    ②,自动备份

    创建windows定时任务自动备份(其实就是创建定时任务执行上面创建的备份数据库脚本,注意脚本保存位置),保存以下文件内容为 backup_plan.bat 文件

     
    @echo off 
    
    :: ------- 配置项 ------- 
    
    :: 要执行的文件名 
    set FILE=.ackup.bat
    :: 计划频率类型 set FREQUENCY=DAILY :: 频率,与上面的计划频率类型对应 set MODIFIER=1 :: 该计划执行的时间(24 小时制) set DATETIME=00:30:00 :: 计划的名字 set NAME="Backup Mysql Job" :: 计划执行用户,不建议修改 set USER="System" :: ------- 以下请勿修改 ------- schtasks /Create /RU %USER% /SC %FREQUENCY% /MO %MODIFIER% /ST %DATETIME% /TN %NAME% /TR %FILE% pause

    参数说明,其中的
    :: 计划频率类型,可选项:
    :: MINUTE 分钟
    :: DAILY 天
    :: HOURLY 小时
    :: WEEKLY 周
    :: MONTHLY 月

    :: 频率,与上面的计划频率类型对应
    :: MINUTE: 1 到 1439 分钟
    :: HOURLY: 1 - 23 小时
    :: DAILY: 1 到 365 天
    :: WEEKLY: 1 到 52 周
    :: MONTHLY: 1 到 12,或 FIRST, SECOND, THIRD, FOURTH, LAST, LASTDAY

    二,利用客户端工具备份

    上面说这么多,就是懒,希望电脑帮我们自动备份。如果用mysql客户端工具,右键备份就搞定啦,(只不过客户端工具创建定时计划需要收费)

    选择想要备份数据库或者表,右键选择 “转储SQL文件”。

    参考博客内容 

     https://www.jb51.net/article/30195.htm

     https://www.cnblogs.com/mmzs/p/10063176.html

    @萍2樱释ღ( ´・ᴗ・` )

    打不死的小强
  • 相关阅读:
    Flutter form 的表单 input
    FloatingActionButton 实现类似 闲鱼 App 底部导航凸起按钮
    Flutter 中的常见的按钮组件 以及自 定义按钮组件
    Drawer 侧边栏、以及侧边栏内 容布局
    AppBar 自定义顶部导航按钮 图标、颜色 以及 TabBar 定义顶部 Tab 切换 通过TabController 定义TabBar
    清空路由 路由替换 返回到根路由
    应对ubuntu linux图形界面卡住的方法
    [转] 一块赚零花钱
    [转]在树莓派上搭建LAMP服务
    ssh保持连接
  • 原文地址:https://www.cnblogs.com/mggahui/p/13769668.html
Copyright © 2011-2022 走看看