这几天做一个跨机房实时迁移的操作,碰到一个有些奇怪的问题,记录一下。 整体服务是在两个机房对等部署,然后通过级联复制的方式串起来。 实际切换前,节点B因为是从库,是很容易摘除的,所以整体的部署架构仅剩下A,C,D 同时在切换前,为了保证整个业务访问域名的可用性,会临时开启双主复制,这个阶段能够最大程度保证数据的完整性。当然这里会有两种模式,一种是最大保护模式,最大保护模式意味着数据只能从一个入口写入,如果双写很可能会数据冲突,第二种
写在前面 今天,一名读者反馈说:自己出去面试,被面试官一顿虐啊!为什么呢?因为这名读者面试的是某大厂的研发工程师,偏技术型的。所以,在面试过程中,面试官比较偏向于问技术型的问题。不过,技术终归还是要服务于业务的,光会技术可不行,还要将技术应用于项目中才行。结果,最后问了一连串的项目实战问题,其中一个问题就是:如何在不重新复制整个库的情况下,添加新数据库到MySQL主从复制环境?结果。。。 问题阐述 明确问题 面试官的问题比较明确:如何在
从MySQL源码看其网络IO模型 前言 MySQL是当今最流行的开源数据库,阅读其源码是一件大有裨益的事情(虽然其代码感觉比较凌乱)。而笔者阅读一个Server源码的习惯就是先从其网络IO模型看起。于是,便有了本篇博客。 MySQL启动Socket监听 看源码,首先就需要找到其入口点,mysqld的入口点为mysqld_main,跳过了各种配置文件的加载 之后,我们来到了network_init初始化网络环节,如下图所示: 下面是其调用
记得去年我在往 MySQL 存入 emoji 😲😳表情时,一直出错,无法导入。后来找到办法,通过把 utf8 改成 utf8mb4 就可以了,当时并没有深究。 图片来自 Pexels 一年后,我看到一篇文章讲到 emoji 文字占 4 个字节,通常要用 utf-8 去接收才行,其他编码可能会出错。 我突然想到去年操作 MySQL 把 utf8 改成 utf8mb4 的事儿。 嗯?他本身不就是 utf8
简介 1.1 canal介绍 Canal是一个基于MySQL二进制日志的高性能数据同步系统。Canal广泛用于阿里巴巴集团(包括https://www.taobao.com),以提供可靠的低延迟增量数据管道,github地址:https://github.com/alibaba/canal Canal Server能够解析MySQL binlog并订阅数据更改,而Canal Client可以实现将更改广播到任何地方,例如数据库和Apac
今天我们来深挖一下mysql的复制机制到底有哪一些,以及binlog和relay-log的结构到底是什么样子的。 binlog作用 binlog的主要作用是记录数据库中表的更改,它只记录改变数据的sql,不改变数据的sql不会写入,比如select语句一般不会被记录,因为他们不会对数据产生任何改动。 用一个实际的场景看下binlog产生的过程,准备sql: createtabletest(textvarchar(20)); insert
在MySQL进行数据插入操作时,总是会考虑是否会插入重复数据,之前的操作都是先根据主键或者唯一约束条件进行查询,有就进行更新没有就进行插入。代码反复效率低下。 新建表格 CREATETABLE`person`( `id`intNOTNULLCOMMENT'主键', `name`varchar(64)CHARACTERSETutf8COLLATEutf8_binNULLDEFAULTNULLCOMMENT'姓名', `age`intNUL
在这之前,民工哥也给大家介绍过一款开源的SQL管理工具:自动补全、回滚!介绍一款可视化 sql 诊断利器。 今天,民工哥再给大家推荐一款SQL审核利器:goinception。 goinception介绍 goInception是一个集审核、执行、备份及生成回滚语句于一身的MySQL运维工具, 通过对执行SQL的语法解析,返回基于自定义规则的审核结果,并提供执行和备份及生成回滚语句的功能。 github地址:https://github
一个典型的互联网产品架构包含接入层、逻辑处理层以及存储层,其中存储层承载着数据落地和持久化的任务,同时给逻辑处理层提供数据查询功能支持。说到存储层就要说到数据库,数据库知识掌握程度也是面试考察的知识点。 典型服务架构 数据库分为关系型数据库和非关系型数据库,也就是我们常说的 SQL 和 NoSQL,这两个方向的数据库代表产品分别是MySQL 和 Redis ,这次我们主要以面试问答的形式,来学习下关系型数据库 MySQL 基础知识。 面
今天收到一个业务的报警,提示慢日志比较频繁,登上环境查看,发现SQL是一条看起来很简单的语句,环境在MySQL 5.7.16版本下,慢日志里面执行时间显示是近1分钟,我在从库上面执行了一下,发现优化空间确实很大: selectOrgId from`testcomm`.apply_join_org whereIfDel=1andApplyStatus=1andUserId=12345678ORDERBYCreateTimedescLIM
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态