ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql从binlog中恢复数据

2022-07-05 12:02:18  阅读:188  来源: 互联网

标签:binlog no -- 恢复 defaults mysql mysqlbinlog


查看mysql是否开启binlog

show variables like '%log_bin%';

查询文件目录

show variables like '%datadir%';

查看所有binlog日志文件列表

show master logs;

刷新日志,开启一个新的编号

flush logs

清空所有binlog日志命令

reset master

查看binlog文件内容,使用查看工具

方法一:
mysqlbinlog --no-defaults -vv --base64-output=decode-rows binlog.000001

方法二:
show binlog events in 'binlog.000001'

恢复

# 恢复整个binlog中的数据
mysqlbinlog --no-defaults binlog.000001|mysql -u root -p test

# 恢复指定位置数据
mysqlbinlog --no-defaults --start-position=612 --stop-position=759 binlog.000001|mysql -u root -p test

# 恢复指定时间段数据
mysqlbinlog --no-defaults --start-datetime="2022-07-05 11:32:42" --stop-datetime="2022-07-05 11:32:53"  binlog.000001|mysql -u root -p test

--start-position=50
指定了pos的点从50开始

-stop-position=100
指定了pos的点从100结束

--start-date="2019-03-02 11:55:00"
指定了从这个时间开始

--stop-date="2018-03-02 12:00:00"
指定了从这个时间结束

--no-defaults
可以避免 my.cnf 里配了 [client] 某些 mysqlbinlog 没有的参数导致 mysqlbinlog 失败

-vv
从行格式中重建伪SQL(带注释)


--base64-output=decode-rows
指定为decode-rows表示不显示binglog二进制部分

--database=test
指定数据库

--skip-gtids
不保留 GTID 事件信息,这样回放 binlog 时会跟执行新事物一样,生成新的 GTID

标签:binlog,no,--,恢复,defaults,mysql,mysqlbinlog
来源: https://www.cnblogs.com/GoslingWu/p/16445906.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有