| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> MySQL日志篇,MySQL日志之binlog日志,binlog日志详解 -> 正文阅读 |
|
[大数据]MySQL日志篇,MySQL日志之binlog日志,binlog日志详解 |
一、描述binlog 二进制日志文件,这个文件记录了MySQL所有的DML操作。通过binlog日志我们可以做数据恢复,增量备份,主主复制和主从复制等等。 二、常用操作2-1、docker里面无法使用 vim、常用命令问题解决https://blog.csdn.net/Tomwildboar/article/details/120710690 https://blog.csdn.net/KwaiSZ/article/details/106937983 2-2、开启 binlog查看是否开启binlog日志
一般来说 my.cnf 在:
如果你启动的时候因为配置文件修改错了,导致无法启动,可以参考这个解决: Mac下docker里面的MySQL无法启动,Mac进入docker(修改配置文件导致无法启动) 查看binlog其它的配置文件 2-3、binlog查看乱码的问题
2-4、binlog 编码格式我们可以使用 注:不同版本的MySQL,binlog默认的编码格式可能不同 2-4-1、statement 基于SQL语句的复制(statement-based replication, SBR)每一条会修改数据的sql语句都会记录到binlog中。优点是并不需要记录每一条sql语句和每一行的数据变化,减少了binlog日志量,节约IO,提高性能。 在配置文件里面加入配置 执行下面的语句
然后我们在打开最新的binlog日志,可以在里面找到上面的语句。 但就如同上面的 insert 语句,我使用了 now(),这个函数,如果用这个binlog语句去进行备份、同步那么时间字段就对不上了。 2-4-2、row 基于行的复制(row-based replication, RBR)不记录每条sql语句的上下文信息,仅需记录哪条数据被修改了,修改成什么样了。而且不会出现某些特定情况下的存储过程、或function、或trigger的调用和触发或 now() 无法被正确复制的问题。缺点是会产生大量的日志,尤其是alter table的时候会让日志暴涨。 修改配置文件为 2-4-3、mixed 混合模式复制(mixed-based replication, MBR)以上两种模式的混合使用,一般的复制使用STATEMENT模式保存binlog,对于STATEMENT模式无法复制的操作使用ROW模式保存binlog,MySQL会根据执行的SQL语句选择日志保存方式。 修改配置文件为 2-5、通过binlog恢复数据2-5-1、准备数据在操作之前,我们先执行 建表
添加数据
查看数据 这里我们删掉 2-5-2、恢复数据2-5-2-1、开启新的日志执行命令 2-5-2-2、找到我们要操作的日志这里我要操作的日志是 mysql-bin.000013 执行命令查看日志结构 2-5-2-3、使用 pos 恢复数据从上面的图,我们可以看到pos的开始和结束的位置,我们可恢复此阶段的数据
再次进入数据库,查询,发现数据有了 2-5-2-4、使用时间恢复数据使用命令查看binlog日志 数据比较多,这里我只截图需要的部分
2-N、其他2-N-1、binlog 文件大小可以使用命令来查看binlog 单个文件大小,默认是1G,如果超过了1G就会新增一个文件 注: 当你重启MySQL的时候,就会新增一个新的 binlog 文件 2-N-2、过期删除前面也说了,我们可以使用 2-N-3、其它命令
参考文章https://www.cnblogs.com/xingyunfashi/p/8431780.html https://www.cnblogs.com/YCcc/p/10825870.html |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 3:07:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |