MySQL通过Binlog日志恢复数据库

一、MySQL Binlog 简介

MySQL 的二进制日志 binlog 可以说是 MySQL 最重要的日志,它记录了所有的 DDL 和 DML 语句(除了数据查询语句select、show等),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。binlog 的主要目的是复制和恢复。

二、Binlog日志的两个最重要的使用场景

1、复制:MySQL 的 Master-Slave 协议,让 Slave 可以通过监听 Binlog 实现数据复制,达到数据一致的目的

2、数据恢复:通过 mysqlbinlog工具来使恢复数据

3、增量备份:使用canal监控binlog完成数据同步

三、开启Binlog日志:

通过配置 /etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf 配置文件的 log-bin 选项:

##配置binlog日志路径以及日志文件名前缀、生成的日志格式为:bin-log.000001
log-bin=/var/lib/mysql/bin-log
##注意5.7以及更高版本需要配置本项、自定义,保证唯一性
server-id=1
##binlog格式,有3种statement,row,mixed,区别的话,请自行搜索
binlog-format=mixed
##表示每1次执行写入就与硬盘同步,会影响性能,为0时表示,事务提交时mysql不做刷盘操作,由系统决定
sync-binlog=1

四、查看Binlog日志状态

show variables like '%log_bin%';

binlog日志开启状态为ON

五、查看Binlog文件内容

show binlog events in 'bin-log-1.000001';

六、通过Binlog恢复数据

在linux控制台执行

mysqlbinlog --database=hello /var/lib/mysql/bin-log-1.000001 | /usr/bin/mysql -uroot -p123456 -v hello

/usr/bin/mysqlbinlog 为binlog命令

--database=hello 指定数据库为hello的日志

/var/lib/mysql/bin-log-1.000001 为binlog日志

| 为管道符

/usr/bin/mysql -uroot -p123456 -v hello 连接mysql(-u数据登录名,-p数据库密码)、并指定需要恢复的数据库 -v 为显示详细信息

七、通过指定位置恢复数据

在linux控制台执行

mysqlbinlog /var/lib/mysql/binlog.000005 --start-position=4 --stop-position=30088055 | mysql -h127.0.0.1 -uroot -p123456

--start-position=573 开始位置

--stop-position=718 结束位置

查看数据库日志位置信息:

show binlog events in 'bin-log-1.000001';

八、通过指定时间恢复数据

在linux控制台执行

mysqlbinlog --start-datetime="2022-01-01 00:00:00" --stop-datetime="2022-05-01 23:59:59" /var/lib/mysql/binlog.000005 | mysql -h127.0.0.1 -uroot -p123456

--start-datetime="2021-06-27 20:58:18" 开始时间

--stop-datetime="2021-06-27 20:58:35" 结束时间

查看时间信息

在linux控制台执行

mysqlbinlog --no-defaults /var/lib/mysql/bin-log-1.000001

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/283771.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sui 概览:技术特色与生态发展现状

作者:stellafootprint.network 数据来源:Sui Overview Sui 区块链的推出是区块链技术进一步革新的标志。该链由 Mysten Labs 倾力打造,其团队成员曾在 Meta 拥有卓越的职业成就。Sui 是一个无需许可的 Layer 1,在上线主网之前就…

ABAQUS软件属于哪家公司 硕迪科技

ABAQUS是由法国达索公司开发的一款工程仿真软件,全名为"Advanced Simulation for Engineering and Sciences",简称为ABAQUS。它在机械工程、土木工程、能源与采矿工程、电子与电气工程、化学工程、生物学等多个领域得到广泛应用。 ABAQUS具备强…

轻松搞定!微信快速统计数据报表妙招

在当今竞争激烈的私域流量市场中,掌握微信数据报表统计成为了一项不可或缺的技能。 接下来就给大家说说怎样才能快速搞定微信的各项数据报表,让大家都可以更清晰地了解自己的微信或是员工工作号的数据。 1、明确统计需求 首先要确定好统计的目的是什么…

自动封箱打包码垛缠绕流水线案例

广西交投在某地新建工厂后,需要建设一条生产隧道灯,后段自动封箱打包码垛缠绕包装线。 凯隆包装在深入了解客户需求后,结合客户实际生产情况,为客户量身定制了集智能感应系统、产品自动折盖上下封箱、捆扎两道打包带、码垛机械臂自…

Oracle 中ROW_NUMBER() OVER()函数用法详解

select * from ( select t.data maxdata, datatime,s.xlmc,ROW_NUMBER() OVER (PARTITION BY s.xlmc ORDER BY datatime) AS rn from HISTORY_FH_ONEDAY t, CURRENT_FH_XL s where t.code s.code ) c where c.rn1

数字滤波器设计——Matlab实现数字信号处理<1>

目录 一.实验内容 二.代码分析 1.信号产生部分 2.利用傅立叶级数展开的方法&#xff0c;自由生成所需的x(t) 3.通过选择不同的采样间隔T&#xff08;分别选T>或<1/2fc&#xff09;&#xff0c;从x(t)获得相应的x(n) 3.对获得的不同x(n)分别作傅立叶变换&#xff0c…

2021年数维杯国际大学生数学建模D题2021年电影市场票房波动模型分析求解全过程文档及程序

2021年数维杯国际大学生数学建模 D题 2021年电影市场票房波动模型分析 原题再现&#xff1a; 1、电影票房预测建模背景   随着人们文化消费需求的增加&#xff0c;电影院和银幕的数量不断增加&#xff0c;我国的电影产业不断呈现出繁荣景象。2019年&#xff0c;全国电影票房…

解决vscode终端显示乱码的问题!

不知道小伙伴们在使用vscode的时候有没有遇到中文乱码的问题&#xff0c;反正我是深深的被困扰着&#xff0c;而且我的调试控制台不会乱码&#xff0c;只有终端显示的时候乱码——非常奇怪。 我也是反反复复尝试了很多方法&#xff0c;终于解决了这个问题。 话不多说&#xf…

环境搭建及源码运行_java环境搭建_maven

书到用时方恨少、觉知此时要躬行&#xff1b;拥有技术&#xff0c;成就未来&#xff0c;抖音视频教学地址&#xff1a;​​​​​​​ ​​​​​​​ 1、介绍 1&#xff09;管理项目依赖和版本 统一的项目依赖和版本管理 ​​​​​​​​​​​ 2&#xff09;Maven支持多模块…

大模型自定义算子优化方案学习笔记:CUDA算子定义、算子编译、正反向梯度实现

01算子优化的意义 随着大模型应用的普及以及算力紧缺&#xff0c;下一步对于计算性能的追求一定是技术的核心方向。因为目前大模型的计算逻辑是由一个个独立的算子或者说OP正反向求导实现的&#xff0c;底层往往调用的是GPU提供的CUDA的驱动程序。如果不能对于整个计算过程学习…

企业计算机服务器中了halo勒索病毒如何解密,halo勒索病毒恢复流程

网络技术的不断发展与应用&#xff0c;为企业的生产运营提供了极大便利&#xff0c;越来越多的企业使用数据库存储企业的重要数据&#xff0c;方便工作与生产&#xff0c;但网络是一把双刃剑&#xff0c;网络安全威胁一直存在&#xff0c;并且网络威胁的手段也在不断升级。在本…

【【UART 传输数据实验】】

UART 传输数据实验 通信方式在日常的应用中一般分为串行通信&#xff08;serial communication&#xff09;和并行通信&#xff08;parallel communication&#xff09;。 我们再来了解下串行通信的特点。串行通信是指数据在一条数据线上&#xff0c;一比特接一比特地按顺序传…