备份功能

  • 使用mysqldump进行数据库备份
  • 跨主机备份
  • 还原数据库
  • Windows定时执行脚本任务

使用mysqldump进行数据库备份

mysql数据库自带备份命令mysqldump,可对数据库进行备份操作
最简单的备份是将数据库备份至本地,生成 **.sql文件

编写备份脚本文件
(创建一个txt文件,写入批处理脚本,再将文件的后缀改为.bat变为批处理脚本文件)

rem autherBeginnerXiao
rem date:20200814
rem ******Backup MySQL Start******
@echo off
::设置时间变量
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%"::创建存储的文件夹
if not exist "D:\mysql_backup" md "D:\mysql_backup"::执行备份操作
"D:\mysql-8.0.20-winx64\bin\mysqldump" --opt --user=root --password=root --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "demo" >D:\mysql_backup\backup_demo_%Ymd%.sql::删除两周前的备份数据
forfiles /p "D:\mysql_backup" /m backup_*.sql -d -14 /c "cmd /c del /f @path"@echo on
rem ******Backup MySQL End******

其中一些关键语句解释:

  1. 为备份文件存储位置设立一个文件夹,即如果不存在该文件就md创建该文件夹
 ::创建存储的文件夹if not exist "D:\mysql_backup" md "D:\mysql_backup"
  1. 备份操作:
    “D:\mysql-8.0.20-winx64\bin\mysqldump” :执行本地mysql文件安装路径的bin文件夹中的mysqldump
    –single-transaction=TRUE: 备份时没有锁表
    –user=root :mysql帐号
    –password=root :mysql密码
    –host=127.0.0.1 :mysql的ip地址
    –port=3306 :mysql的端口号
    –default-character-set=utf8 :备份默认编码
    events “demo” :进行备份的数据库名称
    >D:\mysql_backup\backup_demo_%Ymd%.sql :备份文件存储的路径
    set “Ymd=%date:0,4%%date:5,2%%date:~8,2%” :设置备份的日期参数,以供给sql命名使用
    关于时间参数的参考:
    %date:~0,10% //提取年月日信息
    %date:~-3% //提取星期几信息
    %time:~0,5% //提取时间中的时和分
    %time:~0,-3% //提取时和分和秒信息
    *注意由于脚本文件以空格和逗号进行分隔执行,所以有关路径的如果路径中有空格,必须以双引号引起来
    *通常建议有关路径的都用双引号引起来
::执行备份操作
"D:\mysql-8.0.20-winx64\bin\mysqldump" --opt --user=root --password=root --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "demo" >D:\mysql_backup\backup_demo_%Ymd%.sql
  1. 对备份文件进行过期删除处理
    Forfiles:从文件夹或树中选择要进行批处理的文件。
    语法:
    forfiles [/p Path ] [/m SearchMask ] [/s ] [/c Command ] [/d [{+ | - }] [{MM / DD / YYYY | DD }]]
    参数:
    /p Path:指定Path ,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号(.) 指定。
    /m SearchMask:按照SearchMask 搜索文件。默认的SearchMask 是*.* 。
    /m backup_*.sql 指的是搜索以backup_为前缀,.sql为后缀的文件
    /s:指示forfiles 在子目录中搜索。
    /c Command:在每个文件上运行指定的Command 。带有空格的命令字符串必须用引号括起来。默认的Command 是"cmd /c echo @file" 。
    /d [{+ | - }] [{MM / DD / YYYY | DD }]:选择日期大于或等于(+ )(或者小于或等于(- ))指定日期的文件,其中MM / DD / YYYY 是指定的日期,DD 是当前日期减去DD 天。如果未指定+ 或- ,则使用+ 。DD 的有效范围是0 - 32768。
    -d -14:即前14天
::删除两周前的备份数据
forfiles /p "D:\mysql_backup" /m backup_*.sql -d -14 /c "cmd /c del /f @path"

跨主机备份

(一)将需要的数据库备份至其他主机的指定数据库内
语法:
mysqldump --host=源数据库ip -u源数据库账户 -p源数据库密码 --opt 要备份的数据库 | mysql --host=目标机器ip -u目标数据库用户名 -p目标数据库密码 -C 目标数据库

mysqldump --host=127.0.0.1 -uroot -proot --opt demo | mysql --host=11.11.11.11  -uroot -proot -C demo

(二)远程备份数据库的sql文件
语法:

"D:\mysql-8.0.20-winx64\bin\mysqldump" --opt --user=root --password=root --host=远程数据库ip --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "demo" >D:\mysql_backup\backup_demo_%Ymd%.sql

注:
进行远程备份的前提是,远程数据库需要创建一个对本机IP能够访问的用户,创建远程访问用户操作,见blog:MySQL数据库用户创建、修改、授权及远程访问

还原数据库

两种还原方法:

mysqldump -uroot -proot -h127.0.0.1 demo < "D:\mysql_backup\backup_demo_20200814.sql"
mysql -uroot -proot demo< "D:\mysql_backup\backup_demo_20200814.sql"

Windows定时执行脚本任务

我们可以通过设定Windows定时任务来实现定时运行备份脚本,以达到定时备份的目的
1.可以在程序搜索列表中搜索“任务计划程序”

2.打开了任务计划程序后点击右侧的“创建基本任务”,并对计划任务的名称和描述进行编写:

3.选择定时执行的周期:

4.设置你所需要执行的时间,备份一般可以放在深夜进行

5.让该定时任务启动脚本程序

6.选择编写完成的备份脚本文件:

7.此时会给我们一个任务概述,确认信息无误后点击完成

8.创建好后,可在任务列表中看到我们所创建的任务,可以通过右键该条任务进行删除等处理

本文为编程小白自学知识归纳,如有错误与不足敬请指正!

Windows环境下进行mysql数据库备份相关推荐

  1. Windows环境下的Oracle数据库备份策略

    最近公司一个新项目上线,服务器有限,无法搭建DG,特制定以下数据库备份策略: 1.每天凌晨1点进行数据库全库导出备份 代码清单: expdp 数据库用户名/密码@IP地址/数据库实例名 schemas ...

  2. linux 查看mysql安装目录_Linux环境下安装MySQL数据库示例教程

    点击上方SQL数据库开发,关注获取SQL视频教程 SQL专栏 SQL数据库基础知识汇总 SQL数据库高级知识汇总 Linux环境对大多数SQL初学者还是比较陌生,今天给大家演示一下如何在Linux环境 ...

  3. Linux环境下从MySql数据库导出sql文件

    Linux环境下从MySql数据库导出sql文件(mysqldump命令) 1.导出数据和表结构: 首先要在安装mysql的/bin目录下才可以执行: #/usr/local/mysql/bin/ m ...

  4. windows mysql 数据库存放位置_windows环境下更改Mysql数据库存储位置的具体步骤

    最近对windows2003环境下的mysql数据位置进行迁移工作.在网上搜集到的教程是这样的. 一.首先把mysql的服务先停掉. 二.更改MySQL配置文件My.ini中的数据库存储主路径 打开M ...

  5. python---(4) win10 环境下访问MYSQL 数据库

    1. 安装MySQL 从MySQL官方网站下载最新的Community Server 5.6.x版本.MySQL是跨平台的,选择对应的平台下载安装文件,安装即可. 安装时,MySQL会提示输入root ...

  6. Windows环境下启动Mysql服务提示“1067 进程意外终止”的解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 在Windows服务里启动Mysql服务时提示"1067 进程意外终止". 此时我们打开计算机管理查看Wi ...

  7. windows环境下,mysql的root密码丢失后重置方法

    1.运行窗口输入 services.msc,检查mysql服务是否启动,如果启动手动停止或输入 net stop mysql 停止msyql服务. 2.打开cmd命令行,使用cd命令进入mysql 的 ...

  8. vbs用mysql语句查询数据库_vbs脚本实现window环境下的mysql数据库的备份及删除早期备份...

    On error resume next Dim oShell,admin,pass,user,db,path,name admin="root" pass="gsl&q ...

  9. 不同网络环境下的Mysql数据库远程连接(局域网或外网)

    第一步:把你mysql的远程连接权限打开 第二步:若你是局域网内连接,请把防火墙关掉或者在防火墙高级设置中给入站规则和出站规则选择tcp端口3306连接建立规则,这样你就可以通过本机ip访问数据库了 ...

最新文章

  1. rhel5 配置yum到centos源
  2. html简介及常用标签
  3. python iocp_记对协程增加IOCP支持时候踩过的一些坑
  4. Oracle 用户 对 表空间 配额(quota ) 说明
  5. Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突...
  6. linux系统怎么安装cas,CAS 在Linux中安装与配置
  7. 掌握这20个JS技巧,做一个不加班的前端人
  8. 一年赚4.5亿,网红盲盒公司泡泡玛特再战IPO
  9. 轻量级Modal模态框插件cta.js
  10. Linux中Redis的卸载
  11. 计算机操作系统英语,操作系统的英文介绍
  12. C/C++移位运算符
  13. Windows可视化编程C++基础知识
  14. 不是局域网计算机远程桌面连接,开启局域网远程桌面连接不上怎么办
  15. 四川省中小学计算机台球标准,《四川省中小学教育技术装备标准》.xls
  16. fb2 android,FBReader PDF plugin app
  17. 团队任务:第二次冲刺-第三组梦之队
  18. 克拉克松Clarkson Research情报网注册登录及进行数据查询(以世界造船厂分布为例)
  19. 比树莓派好的linux板子,华硕Tinker Board主打“比树莓派再好一点”的开发板
  20. Simulink高级应用—— Matlab Function中共享或使用全局变量或全局数据

热门文章

  1. 浅析actran气动噪声仿真技术,以圆柱绕流气动噪声仿真为例
  2. 【μC/OS-III】读书笔记,嵌入式微操作系统 中断管理
  3. 数学基础从高一开始4、集合的基本运算2
  4. 《坠入》电影配色分享
  5. LM2903VQDR特性说明
  6. CAN总线之SJA1000芯片调试
  7. 教你如何做好团购和团购推广
  8. 2-网络市场与网络消费者行为分析网络营销
  9. 苹果“变质”,换道变现为何广招嫌弃?
  10. 外盘期货配资软件开发,全套源码C#+mysql