Mysql基于binlog日志恢复数据

Mysql基于binlog日志恢复数据

1.Linux安装mysql

https://blog.csdn.net/qq_44981526/article/details/126717005

可能遇到的问题

1.net-tools未安装,执行yum install net-tools

2.远程连接工具连接不上mysql

grant all privileges on *.* to 'root'@'%' identified by '远程连接密码' with grant option
#刷新配置
flush privileges;

2.基于binlog日志恢复数据

1.MySQL Binlog 简介

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

2.Binlog日志的两个最重要的使用场景

1、MySQL主从复制:MySQL Replication在Master端开启binlog,Master把它的二进制日志传递给slaves来达到master-slave数据一致的目的
2、数据恢复:通过使用 mysqlbinlog工具来使恢复数据

3.开启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

4.查看Binlog日志状态

show variables like '%log_bin%';

image-20221014125648722

5.查看Binlog文件内容

#进入前面配置配置mysql的binlog日志路径
cd /var/lib/mysql

生成的日志格式为:bin-log.000001,实际生产环境比较复杂会有多个日志文件,根据日期进行筛选

image-20221014130022743

show binlog events in 'bin-log.000001'; 

image-20221014130427202

6.通过Binlog恢复数据

已llp库为例,因为误操作或者其他原因,我删除了test表中的一些数据,现在想要恢复它;

image-20221014131725517

将llp库进行删除

image-20221014132236670

1.指定位置恢复

#linux命令行:
#/var/lib/mysql目录执行
mysqlbinlog /var/lib/mysql/bin-log.000001 --start-position=4 --stop-position=78153 | mysql -uroot -proot123456

进入,注意开始和结束位置的合理性

mysqlbinlog binlog命令

/var/lib/mysql/bin-log.000001 binlog日志文件所在路径

–start-position=起始位置值

–stop-position=结束位置的值

可以看到数据恢复了

image-20221014132321695

2.指定时间恢复

#注意起始时间的合理性
mysqlbinlog --start-datetime="2022-10-14 09:00:18" --stop-datetime="2022-10-14 12:00:00"  /var/lib/mysql/bin-log.000001 | mysql -uroot -proot123456
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值