mysql通过binlog定时备份数据库与恢复的方法

 更新时间:2024年12月24日 09:20:03   作者:另类程序员132  
这篇文章主要介绍了mysql通过binlog定时备份数据库与恢复的方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

1.配置binlog

vim /etc/my.cnf
server_id=1
log-bin=mysql-bin

查看指定binlog文件中的事件

-- 查看指定binlog文件中的所有事件
show binlog events in 'binlog.000001'
-- 查看指定binlog文件中从指定位置(position)开始的所有事件
show binlog events in 'binlog.000001' from 32556;
-- 分页查询
show binlog events in 'binlog.000001' from 32556 limit 10;

2.编写shell脚本

1.正常安装
mysqldump -uroot -proot --databases test --master-data=2 --flush-logs > /backup/`date +%F-%H`-mysql-vending-machine.sql
2.通过docker部署
docker exec e2c326627ed5 sh -c 'exec mysqldump --databases test -u root -p"root" --master-data=2 --flush-logs' > /opt/backup/`date +%F-%H`-mysql-vending-machine.sql
注: --databases后面是数据库名,master-data=2 注释掉日志记录
1.mkdir /opt/backup
2.vim backup.sh
3.#!/bin/bash
#mysqldump -uroot -proot --databases test --master-data=2 --flush-logs > /backup/`date +%F-%H`-mysql-test.sql

3.查看备份好的数据库.sql脚本

CHANGE MASTER TO
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=154;

4.创建定时任务

crontab -e   // 创建定时任务,从凌晨2点开始执行
0 2 * * * /opt/backup/backup.sh
crontab -l   // 查看定时任务

5.恢复数据

1.删除数据执行备份好的sql脚本: /backup/date-mysql-test.sql
2.查看date-mysql-test.sql里的CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154;记录mysql-bin.000001与154,执行binlog从mysql-bin.000001文件的154开始恢复
3.开始通过binlog恢复数据
mysqlbinlog mysql-bin.000001 --start-position=154 --stop-position=71012  | mysql -uroot -p'root'
注: --start-position:开始恢复的位置
--stop-position:结束的位置,如果需要执行到最后这个参数可以不写

到此这篇关于mysql通过binlog定时备份数据库与恢复的文章就介绍到这了,更多相关mysql binlog定时备份数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mysql悲观锁和乐观锁的使用示例

    Mysql悲观锁和乐观锁的使用示例

    这篇文章主要给大家介绍了关于Mysql悲观锁和乐观锁使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • MySQL数据库多表操作通关指南(外键约束和多表联合查询)

    MySQL数据库多表操作通关指南(外键约束和多表联合查询)

    看再多的资料不如自己亲自动手实战,往往实战才能渗透知识,下面这篇文章主要给大家介绍了关于MySQL数据库多表操作的相关资料,包含外键约束和多表联合查询等,需要的朋友可以参考下
    2022-06-06
  • Windows下MySQL8.0.11社区绿色版安装步骤图解

    Windows下MySQL8.0.11社区绿色版安装步骤图解

    在本教程中使用MySQL最新的MySQL服务8.0.11的社区绿色版本进行安装,绿色版为zip格式的包,安装步骤分为四大步骤,具体哪四大步骤大家跟随脚本之家小编一起学习吧
    2018-05-05
  • SQL实现LeetCode(177.第N高薪水)

    SQL实现LeetCode(177.第N高薪水)

    这篇文章主要介绍了SQL实现LeetCode(177.第N高薪水),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • MySQL强制索引中USE/FORCE INDEX用法与避坑

    MySQL强制索引中USE/FORCE INDEX用法与避坑

    本文主要介绍了MySQL强制索引中USE/FORCE INDEX用法与避坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-03-03
  • MySQL支持地理位置查询的详细步骤和代码示例

    MySQL支持地理位置查询的详细步骤和代码示例

    MySQL支持地理位置查询,主要通过空间扩展实现,支持的地理空间数据类型包括POINT、LINESTRING和POLYGON,通过创建表和插入地理空间数据,可以使用MySQL提供的函数进行地理位置相关的查询,感兴趣的朋友一起看看吧
    2025-12-12
  • mysql5.7的安装及Navicate长久免费使用的实现过程

    mysql5.7的安装及Navicate长久免费使用的实现过程

    这篇文章主要介绍了mysql5.7的安装及Navicate长久免费使用的实现过程,本文给大家分享问题及解决方法,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • MySQL安装常见报错处理方法总结大全

    MySQL安装常见报错处理方法总结大全

    MySQL数据库在安装或卸载的过程中,常常会出现一些错误,这是件让我们头疼的事,下面这篇文章主要给大家介绍了关于MySQL安装常见报错处理方法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • MySQL优化总结-查询总条数

    MySQL优化总结-查询总条数

    这篇文章主要介绍了MySQL优化总结-查询总条数的相关内容,文中进行简单的测试对比,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • 不使用MySQL数据库的五个给力理由解析

    不使用MySQL数据库的五个给力理由解析

    众所周知,MySQL数据库虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。
    2011-03-03

最新评论