一、背景

概述: 对于我们的生产数据库,都需要定时做备份,以免数据丢失。比如每日备份,同时也需要将以前的进行清理。此处我展示的是只保留最新的 31 天数据。

二、备份命令使用

1,mysqldump 命令是 mysql 可以直接用来进行数据库备份的命令。使用方式如下:# 语法 mysqldump -u<username> -p<password> dbname tablename1 tablename2... > /path/to/***.sql # 示例 mysqldump -u root -p '123456' mytest student > /home/back/student_bak.sql

2,由于在使用时要输入账号密码,可能有的版本会不成功直接输明文,此时我们需要在 mysql 的配置文件(cnf配置)添加账号密码。# 编辑vim/etc/mysql/mysql.conf.d/mysqld.cnf

具体的配置如下:# 备份 [mysqlddump] user=root password=123456

3,保存退出,然后重启 mysqlsystemctl restart mysql

三、编写备份脚本

1,创建一个文件夹用来保存备份数据,我的是:/home/blog/back

2,添加备份脚本 mysql_blog_backup.sh(只保留最新的 31 天数据):#!/bin/bash #保存备份个数,备份31天数据 number=31 #备份保存路径 backup_dir=/home/blog/back/sql #日期 dd=`date +%Y-%m-%d-%H-%M-%S` #备份工具 tool=mysqldump #用户名 username=root #密码 password=你的密码 #将要备份的数据库 database_name=blog #如果文件夹不存在则创建 if [ ! -d $backup_dir ]; then mkdir -p $backup_dir; fi #简单写法 mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.sql $tool -u $username -p$password $database_name > $backup_dir/$database_name-$dd.sql #写创建备份日志 echo "create $backup_dir/$database_name-$dd.dupm" >> $backup_dir/log.txt #找出需要删除的备份 delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | head -1` #判断现在的备份数量是否大于$number count=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | wc -l` if [ $count -gt $number ] then #删除最早生成的备份,只保留number数量的备份 rm $delfile #写删除文件日志 echo "delete $delfile" >> $backup_dir/log.txt fi

3,给脚本赋值执行权限chmod u+x mysql_blog_backup.sh

4,此时可以直接执行该 sh 脚本来验证执行情况

四、定时任务

1,linux 自带的 corntab 命令,精确到分。此处用到的两个命令crontab -e # 编辑crontab定时任务 crontab -l # 查询crontab任务

2,以下为常用的定时任务服务的命令service cron start //启动服务 service cron stop //关闭服务 service cron restart //重启服务 service cron reload //重新载入配置 service cron status //查看服务状态

3,添加执行我们备份脚本的定时任务# 进入定时任务编辑 crontab -e # 添加,每天凌晨 3 点执行一次脚本 00 03 * * * /home/blog/back/mysql_blog_backup.sh

4,此时再重新载入配置就可以了。

结果

  1. 看到下图就代表任务添加成功

原文:MySQL--定时备份,保留最新31天的数据 - 云+社区 - 腾讯云
作者:凡人飞

navcat定时备份mysql_MySQL——定时备份,保留最新31天的数据相关推荐

  1. mysql 后10条_Mysql 保留最新的10条数据

    Mysql每天执行计划,保留最新的10条数据,其余的删除 1.Mysql 保留最新的10条数据 sql语句: DELETE tb FROM tbname AS tb,( SELECT id FROM ...

  2. 护卫神备份mysql_MySQL数据库备份_护卫神

    点击好备份系统左侧[MySQL备份]菜单,进入MySQL数据库备份模块.该模块可以对整个或部分MySQL数据库进行备份,并可以设置多条备份任务. 一.MySQL备份规则列表 进入MySQL备份模块,默 ...

  3. devops+备份mysql_MySQL的备份和恢复 Devops、小铁匠

    mysqldump的使用 mysqldump -u 用户名 -p 密码 库名 > /opt/myname.sql egrep -v "#|*|--|^$" /opt/myna ...

  4. mysql 分组去重只保留最新创建时间的数据

    使用子查询先排序,在正常查询就可以了 SELECT * FROM (SELECT * FROM crisps_mch_manage_operate_logORDER BY create_time DE ...

  5. 高效删除Oracle数据库中重复数据,并保留最新一条的方法

    在对数据库进行操作过程中我们可能会遇到这种情况,表中的数据可能重复出现,使我们对数据库的操作过程中带来很多的不便,那么怎么删除这些重复没有用的数据呢? 重复数据删除技术可以提供更大的备份容量,实现更长 ...

  6. mysql 保留最新n条记录 删除其余记录

    在测试数据库时,想只保留最新的n条记录,删除剩余的记录,例如总计10条数据,只保留最新的5条数据,删除旧5条数据. 原数据记录为: 执行删除语句为: delete A from firedb A jo ...

  7. centos7下mysql定时全量备份、增量备份实现方法

    最近学习的数据库自动定时备份的方法,从网上看的很多资料,大部分文章都是用的脚本之家的那个模板(原代码地址:https://www.jb51.net/article/99938.htm),但是都没有很详 ...

  8. mysql 定期备份_MySQL定时备份(全量备份+增量备份)

    MySQL 定时备份 更多binlog的学习参考马丁传奇的 MySQL的binlog日志,这篇文章写得认真详细,如果看的认真的话,肯定能学的很好的. 如果查看binlog是出现语句加密的情况,参考 m ...

  9. DM8:达梦数据库定时自动全库备份与删除备份

    DM8:达梦数据库定时自动全库备份与删除备份 环境介绍 1 备份条件 2 测试手动备份是否成功 2.1 报错 -718 2.2 错误解决方法 方法1: 在数据库执行SQL 方法2:重启 数据库实例服务 ...

最新文章

  1. Python type hints 之 Optional,Union
  2. oracle celient 作用,WebLogic Server 10.3 SSL配置及SSL协议传输的WebSevice调用.doc
  3. java servlet post_Java中Servlet Post和Get乱码
  4. 皮一皮:一个戒指吃出了电视剧的感觉...
  5. python爬虫有什么用处-Python爬虫的作用与地位(附爬虫技术路线图)
  6. JS的Event属性和方法
  7. 2020前端面试总结
  8. 计算机网络实验(思科模拟器Cisco Packet Tracer)——交换机配置以及虚拟局域网VLAN
  9. Java 关键字 transient
  10. 如何成为一个技术“牛人”
  11. Allen AI提出MERLOT,视频理解领域新SOTA!
  12. MAC 更新 PHP 指南 以及 PHP常用命令示例
  13. TensorFlow tf.squeeze
  14. Linux-删除文件空间不释放问题解决
  15. c语言第六章谭浩强ppt,谭浩强C语言课件第6章.ppt
  16. 好用的蓝牙管理工具推荐,帮您优雅管理蓝牙功能!
  17. 典型集与Shannon信源编码理论
  18. Calico集成kubernetes的CNI网络部署全过程、启用CA自签名
  19. mysql最高安全级别双一_MySQL技术体系之核心参数
  20. springBoot项目--平台控制商品订单中各商家打印机打印小票--终极版

热门文章

  1. 第3节:vue-router如何参数传递
  2. Java中的全局变量与局部变量
  3. MySql(15)——Mysql在高并发情况下,防止库存超卖而小于0的解决方案
  4. nodejs+express开发blog(2)
  5. php -- 目录、路径、磁盘
  6. vimnbsp;自动识别UTF8和GB2312
  7. 判断一个字符串是否在一个数组中
  8. 浅谈C中的malloc和free\\感谢lj_860603,工作了,没时间验证了,觉得挺好的,转载了...
  9. [转载] 终于来了!TensorFlow 2.0入门指南(上篇)
  10. [转载] python自带sqlite库_Python内置库SQlite3使用指南