返回顶部
首页 > 资讯 > 数据库 >【MySQL系列】- MySQL自动备份详解
  • 679
分享到

【MySQL系列】- MySQL自动备份详解

mysql数据库 2023-09-24 11:09:57 679人浏览 泡泡鱼
摘要

【Mysql系列】- mysql自动备份详解 文章目录 【MySQL系列】- MySQL自动备份详解一、需求背景二、Windows mysql自动备份方法2.1 复制date文件夹备份实验备份

Mysql系列】- mysql自动备份详解

文章目录


在这里插入图片描述

一、需求背景

数据库在一个系统中处于非常重要的地位,是整个系统底层也是核心,当数据库被误删会造成非常严重的失误,所有数据库备份可以说是重中之重。本文将梳理Mysqlwindows与Liunx中的备份方法。

二、Windows mysql自动备份方法

2.1 复制date文件夹备份

  • 实验备份环境
  1. MySQL 安装位置:D:\Program Files\MySQL
  2. 数据库名称为:GoyeerDB
  3. 数据库备份目的地:F:\Mysql\db_bak\
  • 创建bat直接备份脚本
*******************************Code Start*****************************net stop mysqlxcopy D:\Program Files\MySQL\data\GoyeerDB\*.* F:\Mysql\db_bak\goyeerdb_bak\%date:~0,10%\ /S /Inet start mysql*******************************Code End *****************************

然后使用Windows的“计划任务”定时执行该批处理脚本即可。(例如:每天凌晨1点执行back_db.bat)
解释:备份和恢复的操作都比较简单,完整性比较高,控制备份周期比较灵活,例如,用%date:0,10%。此方法适合有独立主机但对mysql没有管理经验的用户。缺点是占用空间比较多,备份期间mysql会短时间断开(例如:针对30M左右的数据库耗时5s左右),针对%date:0,10%的用法参考 .

2 .2 mysqldump备份成sql文件

  • 创建mysqldump备份脚本
rem *******************************Code Start*****************************@echo offset "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"D:\Program Files\MySQL\bin\mysqldump --opt -u root --passWord=123456 GoyeerDB > F:\Mysql\goyeerdb_bak\goyeerdb_%Ymd%.sql@echo onrem *******************************Code End*******************************

将以上代码保存为backup_db.bat
然后使用Windows的“计划任务”定时执行该脚本即可。(例如:每天凌晨2点执行back_db.bat)

说明:此方法可以不用关闭数据库,并且可以按每一天的时间来名称备份文件。

通过%date:5,2%来组合得出当前日期,组合的效果为yyyymmdd,date命令得到的日期格式默认为yyyy-mm-dd(如果不是此格式可以通过pause命令来暂停命令行窗口看通过%date:,20%得到的当前计算机日期格式),所以通过%date:5,2%即可得到日期中的第五个字符开始的两个字符,例如今天为2009-02-05,通过%date:5,2%则可以得到02。(日期的字符串的下标是从0开始的)

2 .3 利用WinRAR对MySQL数据库进行定时备份

对于MySQL的备份,最好的方法就是直接备份MySQL数据库的Data目录。下面提供了一个利用WinRAR来对Data目录进行定时备份的方法。

首先当然要把WinRAR安装到计算机上。

创建WinRAR备份脚本

*******************************Code Start***************************net stop mysqlc:\Program Files\winrar\winrar a -ag -k -r -s F:\Mysql\goyeerdb_bak\goyeerdb_%Ymd%.rar   D:\Program Files\MySQL\data\GoyeerDB\net start mysql*******************************Code End*****************************

保存,然后将文本文件的扩展名修改成CMD。进入控制面版,打开计划任务,双击“添加计划任务”。在计划任务向导中找到刚才的CMD文件,接着为这个任务指定一个运行时间和运行时使用的账号密码就可以了。 这种方法缺点是占用时间比较多,备份期间压缩需要时间,mysql断开比第一种方法更多的时间,但是对于文件命名很好。

三、linux Mysql自动备份

3.1 查看磁盘空间情况

既然是定时备份,就要选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败,数据丢失的恶果,推荐使用NAS做为备份存储。

df -h  #查看磁盘空间

3.2 创建备份目录

在有磁盘空间的目录上创建文件夹,下面例子已在/home文件夹下创建目录

cd /home     #切换目录到home下mkdir backup #常见目录并进入backupcd backup

3.3 编写备份shell脚本

语法:mysqldump -u数据库用户名 -p密码 数据库名称 > /路径/备份文件名.sql

#!/bin/bashmysqldump -uroot -p123456 demo > /home/backup/demo_$(date +%Y%m%d_%H%M%S).sql  #按日期时间备份

database_name_ ( d a t e + (date +%Y%m%d%H%M%S)为生成的备份文件名称,可自定义,这里文件名是数据库名 + 下划线 + 具体时间, (date+(date +%Y%m%d%H%M%S)可获取到当前日期,%Y %m %d %H %M %S 分别对应年、月、日、时、分、秒

3.4 Shell压缩备份

语法:mysqldump -u数据库用户名 -p密码 数据库名称 | gzip > /路径/备份文件名.sql.gz

#!/bin/bashmysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz

3.5 清除历史备份文件

#!/bin/shfind /usr/local/backups -mtime +10 -name "*DatabaseName_*" -exec rm -rf {} \;

#删除七天之前的备份
find $backup_dir -name $db_name".sql.gz" -type f -mtime +7 -exec rm -rf {} ; > /dev/null 2>&1
#删除一分钟之前的备份
find $backup_dir -name $db_name".sql.gz" -type f -mmin +1 -exec rm -rf {} ; > /dev/null 2>&1

关键字说明

-type f 表示查找普通类型的文件,f 表示普通文件,可不写
-mtime +7 按照文件的更改时间来查找文件,+7表示文件更改时间距现在7天以前;如果是-mmin +7表示文件更改时间距现在7分钟以前
-exec rm {} ; 表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对{ },一个空格和一个\,最后是一个分号;
/dev/null 2>&1 把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面;其中的& 表示让该命令在后台执行。

3.6 添加计划任务

执行命令:crontab -e

*/1 * * * * /home/backup/bkDatabaseName.sh

分 时 日 月 周 执行命令
第 1 列 分钟 1~59,每分钟用 或者/1表示,整点分钟数为00或0
第 2 列 小时 1~23(0 表示 0 点)
第 3 列 日 1~31
第 4 列 月 1~12
第 5 列 星期 0~6(0 表示星期天)
第 6 列 要运行的命令
例子 :0 3 * * * /backup.sh,此命令表示在每天的凌晨三点执行一次脚本,可自行调整时间

3.7 测试任务是否执行

如果任务执行失败了,可以通过以下命令查看任务日志

tail -f /var/log/cron

四、参考链接

  1. https://blog.csdn.net/qq_32684319/article/details/86996369
  2. Https://www.jianshu.com/p/be1e581acb8e
  3. https://www.cnblogs.com/taomylife/p/8022253.html
  4. https://blog.csdn.net/stonexmx/article/details/72974500

来源地址:https://blog.csdn.net/songjianlong/article/details/133048006

您可能感兴趣的文档:

--结束END--

本文标题: 【MySQL系列】- MySQL自动备份详解

本文链接: https://lsjlt.com/news/416854.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 【MySQL系列】- MySQL自动备份详解
    【MySQL系列】- MySQL自动备份详解 文章目录 【MySQL系列】- MySQL自动备份详解一、需求背景二、Windows mysql自动备份方法2.1 复制date文件夹备份实验备份...
    99+
    2023-09-24
    mysql 数据库
  • Mysql备份系列
    mysql三种备份方式 https://www.cnblogs.com/fengzhongzhuzu/p/9101782.html Mysql备份系列(1)--备份方案总...
    99+
    2024-04-02
  • MySQL 数据库自动备份
    MySQL 数据库自动备份 MySQL 数据库自动备份 MySQL 备份命令 mysqldump 介绍 数据备份 数据恢复 gzip 介绍 MySQL 备份脚本 Linux 定时任务-crontab MySQL 备份...
    99+
    2021-04-06
    MySQL 数据库自动备份
  • MySQL自动备份的方式
    这篇文章主要讲解了“MySQL自动备份的方式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL自动备份的方式”吧!一、逻辑备份:使用mysql自带的m...
    99+
    2024-04-02
  • mysql 备份详细解
    Mysqldump 导出不含创建数据库的语句 mysqldump -uroot -proot wms > 1.sql 包含创建数据库的语句 mysqldump -uroot -proot --databases wms > 1.sql ...
    99+
    2016-10-01
    mysql 备份详细解
  • 备份校验两不误,MySQL自动备份还原校验设计详解
    作者介绍庞阔,优朋普乐传媒运维基础部经理。负责数据库运营管理及平台设计开发,监控设计改进,问题跟踪处理,机房网络维护管理,目前四个专利已在专利局申请中。擅长数据库运维管理及Shell、Perl、PHP编写。...
    99+
    2024-04-02
  • mysql系列之5--完全备份和增量备份
    一、利用系统自带的工具实现完全备份:mysqldump数据备份方式:          物理备份:直接拷贝库或表对应的文件。限于myisam,跨平台性差 &...
    99+
    2024-04-02
  • 如何实现Mysql自动备份
    这篇文章将为大家详细讲解有关如何实现Mysql自动备份,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  可以将这个脚本放进crontab,每天凌晨执行一次,自动备份  这...
    99+
    2024-04-02
  • mysql备份恢复详解
    前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 实战演练 使用cp进行备份 使用mysqldump+复制BINARY LOG备份 使用lvm2快...
    99+
    2024-04-02
  • MySQL系列连载之XtraBackup 备份原理解析
    目录mysql 系列连载之 XtraBackup 备份原理(1)导读Xtrabackup简介原理1、MySQL主从同步原理2、XtraBackup备份原理3、备份的两个过程4、XtraBackup的优点5、Xtrabac...
    99+
    2024-04-02
  • MySQL系列连载之XtraBackup 备份原理解析
    目录MySQL 系列连载之 XtraBackup 备份原理(1)导读Xtrabackup简介原理1、MySQL主从同步原理2、XtraBackup备份原理3、备份的两个过程4、Xtr...
    99+
    2022-11-13
    mysql  XtraBackup 备份 mysql  XtraBackup mysql备份
  • 自动备份mysql数据库脚本
    自动备份mysql数据库脚本#!/bin/sh# NCONF database backup# Script by Chen# add (and adapt) the following line to t...
    99+
    2024-04-02
  • MySQL中怎么实现自动备份
    MySQL中怎么实现自动备份,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。  如何实现MySQL的自动备份  MySql自动备份是非常关键的,...
    99+
    2024-04-02
  • MySQL中怎样实现自动备份
    本篇文章为大家展示了MySQL中怎样实现自动备份,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。MySql自动备份是非常关键的,特别是对于DBA来说。这里主要用代码来...
    99+
    2024-04-02
  • Windows环境MySQL自动备份脚本
    Windows环境MySQL自动备份脚本 备份需求 每个库单独一个文件压缩备份文件晚上23点定时备份 解决方案 创建一个MySQL备份脚本mysql_backup.bat,并在Windows任务计划程序中设置自动执行。 创建一个新的文本文件...
    99+
    2023-09-15
    mysql 数据库 java
  • mysql 每日自动备份数据库
    在 MySQL 中,你可以使用定时任务来每日自动备份数据库。通常,最常用的方法是使用操作系统的定时任务工具(如cron)来调度备份操作。以下是一些步骤来设置每日定时备份MySQL数据库: 创建备份脚...
    99+
    2023-09-24
    数据库 mysql
  • MySQL 备份与还原详解
    大纲 一、MySQL备份类型 二、MySQL备份都备份什么? 三、MySQL备份工具 四、MySQL备份策略 五、备份准备工作 六、备份策略具体演示 注:系统版...
    99+
    2024-04-02
  • MySQL系列之十二 备份与恢复
    目录系列教程一、备份策略赘述1、备份的类型2、备份需要考虑的因素3、备份的目标4、备份工具二、备份方案1、cp + tar == 物理冷备2、lvm快照 + binlog == 几乎...
    99+
    2024-04-02
  • Centos7.6 Mysql数据库自动备份配置
    1、查看磁盘空间情况 执行 df -h 选择剩余空间最大的目录 (以/目录为例)   2、创建备份目录: cd /     mkdir backup cd backup   3、创建备份Shell脚本: vim mo...
    99+
    2017-05-24
    Centos7.6 Mysql数据库自动备份配置
  • mysql中怎么实现自动化备份
    这期内容当中小编将会给大家带来有关mysql中怎么实现自动化备份,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。mysql自动化备份方案 一、配置服务器1、撰写自...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作