• 2024-07-04Mysql主从复制
    Mysql主从复制搭建(Docker)主从复制原理简介通俗的说就是主机将执行过的写操作sql记录在一个文件中,从机连接主机后读取这个文件,然后以同样的顺序将这些sql执行一遍。实际上主从复制是通过binlog和relay-log实现,主机的更新事件(update、insert、delete)会按照顺序写入binlog
  • 2024-07-01大厂面试官问我:在同步binlog的时候主库是一个时间,从库是一个时间,底层是怎么解决的?【后端八股文八:Mysql日志八股文合集(2)】
    本文为【Mysql日志八股文合集(2)】初版,后续还会进行优化更新,欢迎大家关注交流~大家第一眼看到这个标题,不知道心中是否有答案了?在面试当中,面试官经常对项目亮点进行深挖,来考察你对这个项目亮点的理解以及思考!这个时候,你如果可以回答出面试官的问题,甚至是主动说出自己的思考,那在
  • 2024-06-24库分表后复杂查询的应对之道:基于DTS实时性ES宽表构建技术实践
    1问题域业务发展的初期,我们的数据库架构往往是单库单表,外加读写分离来快速的支撑业务,随着用户量和订单量的增加,数据库的计算和存储往往会成为我们系统的瓶颈,业界的实践多数采用分而治之的思想:分库分表,通过分库分表应对存系统读写性能瓶颈和存储瓶颈;分库分表帮我们解决问题的同时
  • 2024-06-21[转] MySQL binlog 日志自动清理及手动删除
    参考转载自mysqlbinlog日志自动清理及手动删除-景岳-博客园说明当开启mysql数据库主从时,会产生大量如mysql-bin.00000*log的文件,这会大量耗费您的硬盘空间。mysql-bin.000001mysql-bin.000002mysql-bin.000003mysql-bin.000004mysql-bin.000005…有三种解
  • 2024-06-15MySQL 5.7贴心参数之binlog_row_image=full
    相信大家都了解mysqlbinlog的格式,那就是有三种,分别是STATEMENT,MiXED,ROW。各有优劣,具体的请大家自行查阅资料。在MySQL5.7版本以前,虽然ROW格式有各种各样的好处。1.比如加快从库重放日志;ROW直接调用mysql的存储引擎接口(handlerAPI)来执行行的插入、删除和更新,完全跳
  • 2024-06-14mysql 双主(互为主从)
    ​先要确保两个数据库的数据一致1、master1上操作,修改my.cnf配置文件[mysqld]#必须唯一server_id=1#开启binlog日志log-bin=mysql-binrelay-log=relay-bin#要进行主从的数据库binlog-do-db=coin#指定自增id值从几开始auto_increment_offset=1#指定自增值的步长a
  • 2024-06-06MySQL三大日志
    总述:undolog日志是inndb存储引擎层生成的日志,实现了事务的原子性,主要用于事务回滚和MVCC。redolog日志是inndb存储引擎层生成的日志,实现了事务的持久性,主要用于掉电等故障恢复。binlog日志是Server层生成的日志,主要用于数据备份和主从复制。undolog回滚日志undolog是
  • 2024-06-04MySQL InnoDB Cluster如何定位或找出超过事务大小的SQL?
    在MySQLInnoDBCluster中,有一个系统变量/参数group_replication_transaction_size_limit控制着事务的大小,如下所示mysql> select @@global.group_replication_transaction_size_limit;+---------------------------------------------------+| @@global.group_replication_tr
  • 2024-06-04adapter1.1.5不能同步数据到ES6
    问题:如果修改数据库某张表的某个字段时出现如下日志:2024-06-0415:32:18.177[pool-2-thread-1]DEBUGc.a.o.canal.client.adapter.es.core.service.ESSyncService-DML:{"data":null,"database":"aws","destination":"CANAL_GOODS","e
  • 2024-06-04Mysql实时数据监听高可用
    一、需求:数据实时监听在项目中有着重要的意义,例如某些项目需要监听数据库的变化,生成对应的元数据块,这个数据块为前端接口提供数据支撑或者数据计算使用,监听到某些数据的变化,及时提醒上游或下游服务等等。如何保证数据监听的高可用?本文用自身项目结构简易阐述,不喜勿喷。二、
  • 2024-06-02mysql binlog查看指定数据库
    1.mysqlbinlog查看指定数据库的方法MySQL的binlog(二进制日志)主要记录了数据库上执行的所有更改数据的SQL语句,包括数据的插入、更新和删除等操作。但直接查看binlog并不直观,因为它是以二进制格式存储的。为了查看binlog中的内容,我们通常使用mysqlbinlog工具。如果我们
  • 2024-05-31一文搞懂 MySQL 日志
    前言MySQL的日志记录了运行的各种信息,是MySQL事务、性能、数据容灾、异常排查等的基础。本文将介绍MySQL一些关键日志的作用和原理。MySQLInnoDB引擎重要的三个日志:一、binlog1.简介概述binlog记录DDL和DML语句,但不包括SELECT、SHOW 等语句,简单说只
  • 2024-05-31MySQL 5.7 - 通过 BINLOG 恢复数据
    日常开发,运维中,经常会出现误删数据的情况。误删数据的类型大致可分为以下几类:使用delete误删行使用droptable或truncatetable误删表使用dropdatabase语句误删数据库使用rm命令误删整个MySQL实例。不同的情况,都会有其优先的解决方案:针对误删行,可以通过Fla
  • 2024-05-31MySQL - binlog日志简介及设置
    基本概念binlog是Mysqlsever层维护的一种二进制日志,与innodb引擎中的redo/undolog是完全不同的日志;其主要是用来记录对mysql数据更新或潜在发生更新的SQL语句,记录了所有的DDL和DML(除了数据查询语句)语句,并以事务的形式保存在磁盘中,还包含语句所执行的消耗的时间,MySQL的二进制
  • 2024-05-30为 MySQL/MariaDB 开启 Binlog 功能
    介绍说到Binlog就不得不提一下MySQLServer的四种类型的日志:ErrorLog、GeneralQueryLog、SlowQueryLog和BinaryLog。ErrorLog即错误日志,记录mysqld发生的一些错误。GeneralQueryLog即一般查询日志,记录mysqld正在做的事情,如客户端的连接和断开、来自客
  • 2024-05-30一文搞懂 MySQL 日志
    前言MySQL的日志记录了运行的各种信息,是MySQL事务、性能、数据容灾、异常排查等的基础。本文将介绍MySQL一些关键日志的作用和原理。MySQLInnoDB引擎重要的三个日志:日志说明redolog重做日志,保证事务的持久性undolog回滚日志,来保证事务的原子性binlo
  • 2024-05-28二进制日志(bin log)
    binlog主要应用场景:一是用于数据恢复二是用于数据复制5.1查看默认情况查看记录二进制日志是否开启:在MySQL8中默认情况下,二进制文件是开启的。mysql>showvariableslike'%log_bin%';+---------------------------------+----------------------------------+|Variabl
  • 2024-05-24Xtrabackup 不备份 binlog 怎么保证一致性?
    公司大佬出的考核题中有个有意思的问题:已知:MySQL的内部两阶段提交,是为了解决binlog和redolog的一致性(在crashrecovery的过程中,如果发现某个事务的redolog已经完成prepare阶段,但未完成commit,那么会验证该事务是否在binlog中,如存在,则进行提交,否则进行回滚)。又
  • 2024-05-11MySQL如何快速获取binlog的开始时间和结束时间
    之前写过一篇文章MySQL如何获取binlog的开始时间和结束时间[1],文章里面介绍了如何获取MySQL数据库二进制日志(binlog)的开始时间与结束时间的一些方法。实际应用当中,我们可能还会遇到效率/性能方面的问题。最近对这个问题做了一些研究,这里就介绍一下如何快速获取MySQL二进制日志(bi
  • 2024-04-30MySQL日志
    一条update的执行流程执行流程分为在server层和存储引擎层;server是MySQL都有的,其日志文件是binlog;存储引擎是不同的,undolog,redolog是innodb特有的。首先是客户端创建请求,然后去服务层请求;然后是server的连接器,连接器的作用是校验用户是否有权限进行查询等等。(在8.0版本之前有
  • 2024-04-293分钟部署mysql并开启binlog
    curl-fsSLhttps://get.docker.com|bashyum-yinstalldocker-cesudosystemctlstartdockersudosystemctlenabledockermysql快速安装sudodockerpullmysqlmkdir-p/opt/module/mysql/conf/opt/module/mysql/data/opt/module/mysql/conf/config.d/touch/opt
  • 2024-04-28MySQL三大日志(binlog,redolog,undolog)详解
    转发https://segmentfault.com/a/1190000041758784一、MySQL日志MySQL日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。其中比较重要的就是二进制日志binlog(归档日志)、事务日志redolog(重做日志)和undolog(回滚日志)。日志关系如下图:二、redologre
  • 2024-04-26Streamsets binlog采集时区问题
    在使用streamset采集binlog过程中,发现采集的datetime格式的数据他会转换为时间戳,但给的时间戳会有时区问题。通过百度查到前人解决方法:https://blog.csdn.net/weixin_38751513/article/details/131662819现详细记录解决过程:我们的streamsets是通过cdh部署的,第一步先找到streams
  • 2024-04-25MySQL - [13] binlog、redolog、undolog、delaylog
    题记部分 binlog    redolog      undolog  3.1、什么是undo log事务是需要保证原子性的,也就是说,事务中的操作要么全部完成,要么什么也不做。但有如下情况,会造成事务执行不完。①事务执行过程中可能遇到各种错误,比如:代码bug出现异常。②
  • 2024-04-23MYSQL使用binlog恢复数据
    要使用MySQL的二进制日志(binlog)恢复被删除的数据,你需要确保二进制日志功能已经开启,并且已经有足够的日志记录来恢复数据。以下是恢复数据的基本步骤和示例代码:1、确认二进制日志功能已经开启:查看my.cnf(或my.ini)配置文件,确保log_bin变量设置为非空值,或者使用以下SQL命令SHOWVAR