java面试一日一题:说下mysql中的binlog
问题:请讲下mysql中的binlog
分析:该问题主要考察对mysql中binlog的理解及使用场景?
回答要点:
主要从以下几点去考虑,
1、什么是binglog?
2、binlog的使用场景是什么?
在mysql中经常听到binlog,所谓binlog指的是二进制日志文件,用来记录mysql中的DDL、DML语句。该文件有三种记录的格式或者说工作模式,
row 记录每一行数据被修改的情况,优点是清晰的记录每一行数据被修改的细节,缺点是binlog日志文件过大;
statement 记录每一行数据被修改的sql,优点是不需要记录每一行数据的修改情况,文件大小没有row的那么大,缺点容易出现主从不一致;
fixed 是row和statement两种方式结合。
binlog经常用在主从复制中,在主节点和从节点之间拷贝的内容就是binlog文件中的内容,主节点在开启binlog后,在主从复制过程中通过网络把主节点的binlog文件传输到从节点,从节点会执行接收到的binlog文件中的内容,达到主从数据一致的效果。在实际生产环境中,经常会出现主从数据不一致的情况,主要有以下原因,
1、网络延迟;
2、写主节点,读从节点,由于从节点要同步主节点的binlog,会因为时间前后关系,造成不一致;
要解决主从不一致的情况,可以有下面的方式供参考,
1、主从复制配置成半复制,即要等到从节点成功执行后主节点再返回写成功;
2、从节点只做备份使用,强制读主节点;
3、程序允许一定时间的数据不一致情况;

java面试一日一题:说下mysql中的binlog的更多相关文章
- java面试一日一题:讲下mysql中的undolog
问题:请讲下mysql中undo log的作用 分析:mysql中有很多日志,例,bin log undo log redo log,要弄清楚这些日志的作用,就要了解这些日志出现的背景及要解决的问题: ...
- java面试一日一题:mysql中常用的存储引擎有哪些?
问题:请讲下mysql中常用的引擎有哪些? 分析:该问题主要考察对mysql存储引擎的理解,及区别是什么? 回答要点: 主要从以下几点去考虑, 1.mysql的存储引擎的基本概念? 2.mysql中常 ...
- java面试一日一题:讲下在什么情况下会发生类加载
问题:请讲下在什么情况下会发生类加载? 分析:该问题主要考察对java中类加载的知识,什么是类加载,为什么会发生类加载,什么情况下发生类加载? 回答要点: 主要从以下几点去考虑 1.什么是类加载: 2 ...
- java面试一日一题:java中垃圾回收算法有哪些
问题:请讲下在java中有哪些垃圾回收算法 分析:该问题主要考察对java中垃圾回收的算法以及使用场景 回答要点: 主要从以下几点去考虑, 1.GC回收算法有哪些 2.每种算法的使用场景 3.基于垃圾 ...
- java面试一日一题:java中的垃圾回收器
问题:请讲下java中垃圾回收器有哪些? 分析:该问题主要考察hotspot虚拟机下实现的垃圾回收器 回答要点: 主要从以下几点去考虑, 1.垃圾回收器的种类 2.每种垃圾回收器的着重点是什么 前边的 ...
- java面试一日一题:请讲下对mysql的理解
问题:请讲下对mysql的理解 分析:该问题主要考察对mysql的理解,基本概念及sql的执行流程 回答要点: 主要从以下几点去考虑, 1.mysql的整体架构? 2.mysql中每一个组件的作用? ...
- java面试一日一题:讲下mysql中的索引
问题:请讲下mysql中的索引 分析:mysql中有很多索引,要对对这些索引有所掌握,还要弄清楚每种索引的本质? 回答要点: 主要从以下几点去考虑 1.索引的本质是什么 2.mysql的索引分类: 3 ...
- java面试一日一题:mysql中的自增主键
问题:请讲下mysql中的自增主键 分析:该问题主要考察对mysql中自增主键的掌握,使用场景及如何设置 回答要点: 主要从以下几点去考虑 1.什么自增主键 2.使用场景是什么: 3.innodb_a ...
- java面试一日一题:binlog undolog redolog的区别
问题:请讲下mysql中binlog.undolog.redolog三种日志的区别 分析:mysql中这三种日志很常见,也是面试中涉及比较多的方面,要理解清楚这三种日志的定位及区别: 回答要点: 主要 ...
- java面试一日一题:讲对mysql的MVCC的理解
问题:请讲下对mysql中MVCC的理解 分析:这个问题要回答的是对MVCC的理解,以及MVCC解决了什么问题这几个方面入手. 回答要点: 主要从以下几点去考虑, 1.什么是MVCC? 2.MVCC用 ...
随机推荐
- Wpf虚拟屏幕键盘
在Wpf使用虚拟键盘有基于osk和tabtip,后者只能在win8和win10之后电脑使用,而且两者在wpf中调用时都必须提升为管理员权限,实际应用中还是不方便. 今天介绍的方法是使用第三方库oskl ...
- 008. gitlab代码克隆与推送
推送配置 gitlab需要推送的客户端sshkey添加到gitlab服务器中 node1 推送配置 centos node1: [root@node1 ~]# cat ~/.ssh/id_rsa.pu ...
- makedown快速入门
Makedown学习 Makedown 作为一个强大文本编辑语言,学习并熟悉应用是写好一篇优秀博客的基础 那么接下来我将介绍makedown语言最常用的几个语法 标题 +"space&quo ...
- 【AI应用开发全流程】使用AscendCL开发板完成模型推理
本文分享自华为云社区<[昇腾开发全流程]AscendCL开发板模型推理>,作者:沉迷sk. 前言 学会如何安装配置华为云ModelArts.开发板Atlas 200I DK A2.并打通一 ...
- js浮点数类型
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- INFINI Labs 产品更新 | 修复 Easysearch 跨集群复制索引同步问题,Gateway 内存异常增长等问题
INFINI Labs 产品又更新啦~,本次更新主要对 Easysearch.Gateway.Console.Agent 等产品功能进行优化和相关 Bug 修复,解决了内存异常增长等问题,以下是详细说 ...
- 快速识别你家的猫猫狗狗,教你用ModelBox开发AI萌宠应用
本文分享自华为云社区<ModelBox-AI应用开发:动物目标检测[玩转华为云]>,作者:阳光大猫. 一.准备环境 ModelBox端云协同AI开发套件(Windows)环境准备[视频教程 ...
- 使用Blazor WebAssembly整合PocketBase的基础项目模板
使用Blazor WebAssembly整合PocketBase的基础项目模板 在这篇博客文章中,我们将探讨如何创建一个集成PocketBase的基础Blazor WebAssembly项目.我们将涵 ...
- TiKV 源码分析之 PointGet
作者:来自 vivo 互联网存储研发团队-Guo Xiang 本文介绍了TiDB中最基本的PointGet算子在存储层TiKV中的执行流程. 一.背景介绍 TiDB是一款具有HTAP能力(同时支持在线 ...
- Java跳动爱心代码
1.计算爱心曲线上的点的公式 计算爱心曲线上的点的公式通常基于参数方程.以下是两种常见的参数方程表示方法,用于绘制爱心曲线: 1.1基于 (x, y) 坐标的参数方程 x = a * (2 * cos ...