mysql二进制日志的应用

首先需要我们的mysql开启二进制日志

vim my.cnf
#如果不知道自己的mysql配置文件在哪里,可以用 find / -name my.cnf 查找路径
log-bin=binlog #开启二进制日志
#保存退出
systemctl restart mariadb #重启mysql

1.查看二进制日志是否开启

在这里插入图片描述

2.查看二进制日志文件名

在这里插入图片描述

3.查看正在使用哪一个日志

在这里插入图片描述

4.查看二进制文件内容

在这里插入图片描述
在这里插入图片描述

5.停止二进制日志的两种方法

一种方法是删除[mysqld]组里的log-bin条目,重启mysql服务
另一种方法是:
set sql_log_bin=0 //暂停二进制日志
set sql_log_bin=1 //启用二进制日志

6.删除二进制日志

i. 删除所有二进制日志,然后重新生成一个从000001开始的文件
reset master;
ii. 删除编号小于number的所有二进制日志文件
purge master logs to filename.number;;
iii. 删除指定时间之前的二进制日志
purge master logs before ‘yyyy-mm-dd hh:mm:ss’;

7.mysqlbinlog命令查看二进制日志

mysqlbinlog命令的常用选项
–start-postion 开始位置
–stop-postion 结束位置
–start-datetime ‘yyyy-mm-dd hh:mm:ss’ 开始时间
–stop-datetime ‘yyyy-mm-dd hh:mm:ss’ 结束时间
mysqlbinlog --no-defaults /var/lib/mysql/mysql-bin.000001 --start-position=106 --stop-position=272

8.使用二进制日志还原数据

在备份mysql数据库时,将相关的二进制日志备份进行备份就是mysql的增量备份,恢复时可以二进制日志进行增量恢复
a) 通过时间还原

mysqlbinlog --start-datetime="时间" 日志文件路径 | mysql -u用户 -p             //从规定的起始时间还原到现在
mysqlbinlog --stop-datetime="时间" 日志文件路径 | mysql -u用户 -p 					//从最开始还原到规定的结束时间
mysqlbinlog --start-datetime="时间" --stop-datetime="时间" 日志文件路径 | mysql -u用户 -p   //从规定的起始时间还原到规定的结束时间

b) 通过位置还原

mysqlbinlog --start-position="位置" 日志文件路径 | mysql -u 用户 -p   //从规定的起始位置还原到现在
mysqlbinlog --stop-position="位置" 日志文件路径 | mysql -u 用户 -p   //从最开始还原到规定的结束位置
mysqlbinlog --start-position="位置"--stop-position="位置" 日志文件路径 | mysql -u用户 -p   //从规定的起始位置还原到规定的结束位置
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值