binlog数据库不写入binlog_mysql 为什么不能仅仅用 binlog 保证不丢数据
7
2018-11-26 12:39:36 +08:00 via Android
先写 redo log 后写 binlog。假设在 redo log 写完,binlog 还没有写完的时候,MySQL 进程异常重启。由于我们前面说过的,redo log 写完之后,系统即使崩溃,仍然能够把数据恢复回来,所以恢复后这一行 c 的值是 1。
但是由于 binlog 没写完就 crash 了,这时候 binlog 里面就没有记录这个语句。因此,之后备份日志的时候,存起来的 binlog 里面就没有这条语句。
然后你会发现,如果需要用这个 binlog 来恢复临时库的话,由于这个语句的 binlog 丢失,这个临时库就会少了这一次更新,恢复出来的这一行 c 的值就是 0,与原库的值不同。
先写 binlog 后写 redo log。如果在 binlog 写完之后 crash,由于 redo log 还没写,崩溃恢复以后这个事务无效,所以这一行 c 的值是 0。但是 binlog 里面已经记录了“把 c 从 0 改成 1 ”这个日志。所以,在之后用 binlog 来恢复的时候就多了一个事务出来,恢复出来的这先写 redo log 后写 binlog。假设在 redo log 写完,binlog 还没有写完的时候,MySQL 进程异常重启。由于我们前面说过的,redo log 写完之后,系统即使崩溃,仍然能够把数据恢复回来,所以恢复后这一行 c 的值是 1。
但是由于 binlog 没写完就 crash 了,这时候 binlog 里面就没有记录这个语句。因此,之后备份日志的时候,存起来的 binlog 里面就没有这条语句。
然后你会发现,如果需要用这个 binlog 来恢复临时库的话,由于这个语句的 binlog 丢失,这个临时库就会少了这一次更新,恢复出来的这一行 c 的值就是 0,与原库的值不同。
先写 binlog 后写 redo log。如果在 binlog 写完之后 crash,由于 redo log 还没写,崩溃恢复以后这个事务无效,所以这一行 c 的值是 0。但是 binlog 里面已经记录了“把 c 从 0 改成 1 ”这个日志。所以,在之后用 binlog 来恢复的时候就多了一个事务出来,恢复出来的这先写 redo log 后写 binlog。假设在 redo log 写完,binlog 还没有写完的时候,MySQL 进程异常重启。由于我们前面说过的,redo log 写完之后,系统即使崩溃,仍然能够把数据恢复回来,所以恢复后这一行 c 的值是 1。
但是由于 binlog 没写完就 crash 了,这时候 binlog 里面就没有记录这个语句。因此,之后备份日志的时候,存起来的 binlog 里面就没有这条语句。
然后你会发现,如果需要用这个 binlog 来恢复临时库的话,由于这个语句的 binlog 丢失,这个临时库就会少了这一次更新,恢复出来的这一行 c 的值就是 0,与原库的值不同。
先写 binlog 后写 redo log。如果在 binlog 写完之后 crash,由于 redo log 还没写,崩溃恢复以后这个事务无效,所以这一行 c 的值是 0。但是 binlog 里面已经记录了“把 c 从 0 改成 1 ”这个日志。所以,在之后用 binlog 来恢复的时候就多了一个事务出来,恢复出来的这一行 c 的值就是 1,与原库的值不同。
binlog数据库不写入binlog_mysql 为什么不能仅仅用 binlog 保证不丢数据相关推荐
- binlog数据库不写入binlog_MySQL数据库及InnoDB存储引擎的日志文件
船头上迎面而来的海风特别有劲道但却总有种苦咸的味道,他睁着通红的眼睛,紧绷着嘴.尽管眼前一望无垠的海面平静如清晨的托雷维耶哈盐湖湖面,但他的心仍然翻涌着昨晚暴风雨中的激浪.这是离开陆地,在海上航行这么 ...
- binlog数据库不写入binlog_mysql数据库备份及其恢复
一.确保mysql开启了binlog日志功能 在/etc/my.cnf文件里的[mysqld]区块添加: #这个是存储的位置为mysql配置文件的位置 log-bin=mysql-bin 然后重启my ...
- binlog数据库不写入binlog_mysql在不开启binlog的情况下导出数据库
问题背景 上个DBA已经走了,一些mysql数据库连所在服务器的系统账户也没有,只有mysql 数据库的root账户和业务账户,准备导出数据迁移至新服务器,可是mysqldump命令却是必须开启bin ...
- binlog数据库不写入binlog_京东智联云MySQL数据库如何保障数据的可靠性?
MySQL作为当前最流行的关系型数据库,在各个行业的系统中扮演着最重要的角色.随着大家对数据价值认可的逐步加深,数据的可靠性是最常被问到的一个问题.MySQL是如何保证数据可靠性的?京东智联云RDS- ...
- VB查询数据库之写入数据库——机房收费系统总结(三)
在机房收费系统中,新注册的用户,更改的密码,上机下级记录,上机收费记录等等都要写入数据库,这样,后面的查询才能生效.像数据库中写入数据,首先,找到你要写入数据的数据库中的表,在表中建立新的行 ...
- 【django】数据库初始化写入信息
django数据库初始化写入信息 将该文件放在migrations文件夹下: 初始化media中的图像名称到图像表中. from django.db import migrationsfrom bac ...
- 微信小程序通过PHP控制云开发数据库的写入,读出,更新,删除
微信小程序通过云服务器控制云数据库的写入,读出,更新,删除 由于微信个人版程序限制,使得小程序的功能不太全面.利用云服务器做后端交互与云开发,可以一定程度上解除部分小程序的限制 下面笔者详细说明关于使 ...
- mysql 主从同步master主数据库无法写入
mysql 5.7 环境,两台数据库服务器设定主从同步,从数据库设定全局只读(如果不设定只读偶尔同步失败或人为修改数据导致两库内容不一会很麻烦),一般情况没有什么问题,有天从数据库查询量增加,导致未及 ...
- C# 创建Excel,读取mdb数据库,写入Excel数据,获取mdb中所有表格名字,选择多个文件
C# 创建Excel,读取mdb数据库,写入Excel数据,获取mdb中所有表格名字,选择多个文件 1.创建Excel表 使用OleDbCommand类执行SQL语句即可,代码如下 /// <s ...
最新文章
- pythonexcel运用_python怎样在excel中应用?
- shellcode中动态定位API
- Java中判断String对象是否为空的方法
- Devexpress报表开发(二):创建数据报表
- Redis(RedisTemplate)使用list链表
- 每天一道LeetCode-----括号匹配
- Hadoop集群(四) Hadoop升级
- linux gret 文件内容,DataX插件开发指南.docx
- 国内各地图API坐标系统比较与转换
- jni直接转byte_JNI jbyteArray转char*
- 详解Web API requestAnimationFrame
- 自学python顺序-Python学习之调换顺序
- 六石管理学:新增一类产品问题,面子类问题
- Iphone 游戏引擎剖析
- html课堂考勤系统源码,考勤管理系统课程设计源码
- 各大搜索引擎网站登录入口
- 【DSA】树-哈弗曼树详解(3)
- 港科喜讯 | 36名香港科大教授获得表彰!
- 选下拉框的的值对应上传相应的图片_excel表格下拉菜单调用对应数据,如何在excel中实现,选择下拉菜单某一项,该表格中就出现选项对应的数据?...
- 2022N1叉车司机考试题模拟考试题库及模拟考试
热门文章
- cefsharp 加载慢_知道硬盘很慢,但没想到比 CPU Cache 慢 10000000 倍!
- linux ora27040,使用RMAN recover database时遇到ORA-01119 ORA-27040 错误的解决办法
- Mysql 755和750权限,chmod 755 究竟是什么鬼?
- JavaScript定时器的工作原理(翻译)
- Js 校验时间、比较时间 和转换时间格式
- protel DXP的类矢量图功能
- nullnullHandling the Results 处理结果
- Tomcat自定义Http错误信息
- 在论坛如何写好原创技术贴
- 告别硬编码,SpringBoot实现动态增删启停定时任务