MySQL

Hi~程序员们,大家好啊~好久不见了,有没有想我呀~

各位知道,MySQL是一款十分好用且强大的数据库软件,最最关键的是,它免费!免费!免费!MySQL自己所提供的管理控制程序"MySQL Workbench"功能也是十分强大,并且已经自带了数据库备份工具。但是这么美好的东西偏偏就没有定期自动备份的功能,这着实让广大使用MySQL为客户进行服务的程序员们大伤脑筋。

很多朋友会说,你可以使用第三方工具呀,很多好用的第三方MySQL管理工具都带有自动备份策略管理工具的。嗯,道理我都懂,可是我就是忍受不了放着官方正室不用,转而去用“小三”啊~

偏偏正巧这段时间在工作的过程中,为客户的一个MySQL数据库做了一次自动备份。虽然过程相当简单,但是还是想着记录下来,分享给大家吧。

操作系统:Windows Server 2012 x64

数据库:MySQL 5.x

由于这个客户的服务器环境是Windows系列的,因此自动备份策略最简单的一个想法就是使用Windows的任务计划程序来完成了。

编写备份脚本程序

首先我们需要了解,MySQL已经自带一个数据库备份工具“mysqldump.exe”了,这个工具会出现在MySQL的安装目录下的/bin文件夹下。

知道了这点之后,我们就自己编写一段脚本,来执行这个备份工具:

注意:以下代码在PC端浏览效果更加

rem auther:www.yumi-info.com

rem date:20171222

rem ******MySQL backup start********

@echo off

forfiles /p "E:\mysql\MySQL BackUp" /m backup_*.sql -d -30 /c "cmd /c del /f @path"

set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"

"E:\mysql\MySQL Server 5.6\bin\mysqldump" --opt --single-transaction=TRUE --user=root --password=123456 --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "yumi_website" > "E:\mysql\MySQL BackUp\backup_%Ymd%.sql"

@echo on

rem ******MySQL backup end********

这是一段很常见的windows批处理脚本文件,我来简单解释一下其中的关键部分:

forfiles /p "E:\mysql\MySQL BackUp" /m backup_*.sql -d -30 /c "cmd /c del /f @path"

forfiles 用来对备份目录下的过期备份进行删除。“E:\mysql\MySQL BackUp”是备份文件所在的路径,可以自行修改。“backup_*.sql”指的是该路径下所有以“backup_”开头,以“.sql”作为后缀的数据库备份文件。而后面的数字“30”表示30天过期。

set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"

使用set命令来定义一个名为“Ymd”的变量,这个变量的值就是后面的一大串规则,简单说就是当前的日期和时间

"E:\mysql\MySQL Server 5.6\bin\mysqldump"

这一行命令就是调用MySQL自带的备份工具了,注意这个路径必须写成你自己的“mysqldump.exe”所在的路径,一般都是在MySQL安装路径的/bin目录下。而这一行命令后面紧跟着一大串的参数,我们挑几个重要的来解释:

--user=root

连接MySQL数据库服务的账户,通常该账户必须具备数据库备份操作的权限。为了简便我们使用了root,但是在实际生产环境中并不建议使用root账户,避免账户和密码泄露,从而造成不必要的麻烦。

--password=123456

这是连接MySQL数据库服务的密码

--host=127.0.0.1

这是数据库服务所在的服务器ip地址

--port=3306

这是数据库服务所在的服务器的端口号

--events "yumi_website" > "E:\mysql\MySQL BackUp\backup_%Ymd%.sql"

events参数即实现了将数据库备份到一个指定的文件这一操作。"yumi_website"是需要做备份的数据库,而大于号“>”右边的就是我们的备份文件所保存的服务器目录和文件名了。

怎么样,不难吧。将上面这一大段批处理脚本保存为一个.bat文件就可以了。保存完该文件后,我们可以先自己双击执行一下,看看有没有在自己指定的路径下生成一个备份文件。

Windows计划任务

完成了上述步骤后,我们需要添加Windows计划任务。

在Windows Server2012中,我们进入服务器管理面板,点击右上角菜单栏中的“工具”,选择其中的“任务计划程序”:

任务计划程序

打开了任务计划程序之后,我们点击右侧的“创建基本任务”:

创建基本任务

然后,我们需要填写任务的名称,以及描述信息:

填写任务名称

点击下一步之后,我们需要设定任务的执行频率,我选择的是“每天”:

选择任务执行频率

再次点击“下一步”,设置任务执行的时间,我选择了夜深人静的1点:

设置任务执行时间

在“下一步”中,我们选择“启动程序”:

选择“启动程序”

在之后的对话框中,我们需要选择刚才所编写的批处理文件:

选择批处理文件

完成这些步骤后,windows会给我们看一下整个任务的概述信息:

任务概述信息

确定无误之后,点击“完成”就可以了。此时我们就会看到在Windows的任务列表里,多了一条新的任务:

任务列表

好了,一切准备就绪,接下来就是每天查看数据库备份是否正常生成了。怎么样,很简单吧。各位给个关注呗~

求关注

本文仅代表作者个人观点,不代表SEO研究协会网官方发声,对观点有疑义请先联系作者本人进行修改,若内容非法请联系平台管理员,邮箱cxb5918@163.com。更多相关资讯,请到SEO研究协会网www.seoxiehui.cn学习互联网营销技术请到巨推学院www.jutuiedu.com。

mysql workbench自动备份_MySQL如何自动备份相关推荐

  1. MFC实现mysql备份_MySQL如何自动备份 - MySQL - VC中文网-VC-MFC编程论坛 - Powered by Discuz!...

    MySQL如何自动备份-1.jpg (64.55 KB, 下载次数: 0) 2018-11-11 10:38 上传 MySQL Hi-程序员们,巨匠好啊-好久不见了,有没有想我呀- MySQL如何自动 ...

  2. mysql 本地备份_MYSQL数据库自动本地/异地双备份/MYSQL增量备份

    构建高安全电子商务网站之(网站文件及数据库自动本地/异地双备份)架构图 继续介绍Linux服务器文件备份,数据库备份,数据安全存储相关的电子商务系统架构.针对安全性有多种多样的解决方案,其中数据备份是 ...

  3. mysql定时增量备份_Mysql日常自动备份和增量备份脚本

    序 你是否在寻找一个MySQL备份脚本? 适合对象 本文是在Linux下,mysql 4.1.14版本下测试的,经过适当修改可能适合mysql 4.0,5.0及其其他版本. 本文适合于没有启动复制功能 ...

  4. 升级mysql服务器二进制备份_MySQL二进制日志备份和恢复详解

    基本概念 定义: 二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句. 作用: 1.二进制日志的主要目的是在恢复使能够最大可能地更新数据库,因为二 ...

  5. 拷贝 var lib mysql 备份_mysql复制与备份

    备份策略: 完全+差异+binlog 完全+增量+binlog binlog最好能实时备份到另一个节点上. 完全备份,多久一次? 数据变化量:有20%,建议使用完全备份. 可用的备份存储空间: 数据变 ...

  6. mysql二进制日志重置_MySQL二进制日志备份和恢复详解

    原文链接:http://www.showerlee.com/archives/681 ****经实践,该教程ok,特在此分享**** 基本概念 定义: 二进制日志包含了所有更新了数据或者已经潜在更新了 ...

  7. mysql 编程 备份_mysql 容灾备份

    本文将为您描述mysql 容灾备份,具体完成步骤: 跨服务器备份: 服务器A:192.168.5.193 测试数据库TestDB 服务器B:192.168.5.194 目标:将服务器A上的测试数据库定 ...

  8. mysql异地备份_MySQL数据库异地备份与还原方法

    一.传统的MySQL数据库备份和恢复数据方法: 生成duSQL脚本 在控制zhi台使用mysqldump命令可以用来生成指定数据库的dao脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创 ...

  9. mysql 实时备份_MySQL实现实时备份[转]

    本文转自:http://www.cnblogs.com/vforbox/p/4860422.html 环境介绍 1.两台服务器进行主从同步复制(安装可以通过google查询相关资料或者看笔者的这篇免安 ...

最新文章

  1. ProtonMail 开源其所有电子邮件应用程序
  2. NetBeans 时事通讯(刊号 # 22 - Aug 18, 2008)
  3. 1.3 Java类的属性:成员变量的定义和声明
  4. 单因素方差分析_基于R语言开展方差分析(一)——单因素方差分析
  5. Android显存到内存拷贝耗时,memcpy速度太慢?掌握这个技术让内存拷贝效率成倍提升...
  6. 风控扫盲:巴塞尔下的分池与量化风控岗
  7. Android的SQLite数据库增删查改(SimpleAdapter绑定ListView)
  8. 语言自制教具_学习笔记:蒙特梭利教师必备硬核技能“蒙氏理论+教具制作”...
  9. 麦克纳姆轮运动原理怎么安装_家用中央空调水系统原理是什么?怎么样安装比较好呢?...
  10. Flask开发服务器
  11. 鸿鹄系统和鸿蒙系统电脑,荣耀智慧屏发布:首发鸿鹄818处理器及鸿蒙系统,定价3799元起...
  12. Oracle Coherence:分布式数据管理
  13. 点云应用——三维空间边界点排序+机器人轨迹引导(1)
  14. android 基站信息说明,安卓android手机查看基站信息
  15. 解决el-input输入框使用oninput或onkeyup后,v-model双向绑定失效问题
  16. #467 – 使用UniformGrid 均分行和列(Use a UniformGrid for Evenly Spaced Rows and Columns)
  17. php model module,Yii2用Gii自动生成Module+Model+CRUD
  18. jasper report 子报表中嵌套子报表
  19. win10打开蓝牙_Win10开启蓝牙移动热点共享上网教程
  20. 初等数论——欧几里得算法

热门文章

  1. Java基础学习汇总
  2. CSR867x — uart串口调试和AT指令
  3. css中实现三角形的几种方式
  4. 社区宽带繁忙是什么意思_十年宽带维修工程师给你解读,为什么宽带越用越慢!...
  5. uniapp 读取手机 通讯录 分组
  6. WorldEdit 指令大全 开发记录
  7. scrapy框架之全站数据的爬取
  8. Leetcode题347、前K个高频元素(Python题解)Amazon面试题
  9. 旅游社交APP开发解决方案
  10. SpringBoot 整合activiti5.22 实现一个完整的请假流程