- 博客(94)
- 收藏
- 关注
转载 技术分享 | 从 MySQL 8.0 复制到 MySQL 5.7
作者:Vinicius Grippa翻译:管长龙本文中,我们将讨论如何设置从 MySQL 8.0 到 MySQL 5.7 的复制。在某些情况下,使用此配置可能会有所帮助。例如,在 MySQL 升级的情况下,将使用较新版本的 MySQL 主服务器作为回滚计划用于较旧版本的从服务器会很...
2019-09-06 14:39:00
637
转载 新特性解读 | MySQL 8.0 错误日志增强特性
作者:杨涛涛MySQL 8.0 重新定义了错误日志输出和过滤,改善了原来臃肿并且可读性很差的错误日志。比如增加了 JSON 输出,在原来的日志后面以序号以及 JSON 后缀的方式展示比如我机器上的 MySQL 以 JSON 保存的错误日志 mysqld.log.00.json:[r...
2019-09-05 13:47:00
832
转载 技术分享 | 优化 InnoDB 的主键
作者:Yves Trudeau翻译:管长龙前言作为 Percona 的首席架构师,我的主要职责之一是对客户的数据库进行性能方面的优化,这使得工作复杂且非常有趣。在这篇文章中,我想讨论一个最重要的问题:选择最佳的 InnoDB 主键。InnoDB 主键有什么特别之处?InnoDB ...
2019-09-04 15:23:00
271
转载 技术分享 | MySQL 查询优化
文章转载自公众号:MySQL解决方案工程师,作者徐轶韬本文中具体内容,可以关注公众号:爱可生开源社区,观看网络研讨会的视频。上周徐轶韬老师在 MySQL 团队的网络研讨会上,分享了 MySQL 查询优化相关内容,以下是相关内容整理,供各位参考。内容分为如下几个方面:基于成...
2019-09-03 14:37:00
278
转载 社区投稿 | 基于 WRITESET 的并行复制方式
作者:高鹏文章末尾有他著作的《深入理解MySQL主从原理 32讲》,深入透彻理解MySQL主从,GTID相关技术知识。本文节选自《深入理解MySQL主从原理》第16节注意:本文分为正文和附件两部分,都是图片格式,如果正文有图片不清晰可以将附件的图片保存到本地查看。注意:本文分为正...
2019-09-02 16:58:00
169
转载 技术分享 | 在磁盘上查找 MySQL 表的大小
作者:Peter Zaitsev 翻译:管长龙 我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应该在 INFORMATION_SCHEMA.TABLES 中提供这些信息吗?没那么简单! 这个看似简单的问题实际上在 MySQL 中非常复杂。MySQL ...
2019-09-02 16:57:00
115
转载 社区投稿 | MySQL 层事务提交流程简析
原创作者:高鹏 本文提要 本节将解释 MySQL 层详细的提交流程,但是由于能力有限,这里不可能包含全部的步骤,只是包含了一些重要的、并且我学习过的步骤。 我们首先需要来假设参数设置,因为某些参数的设置会直接影响到提交流程,我们也会逐一解释这些参数的含义。 本节介绍的大部分内容...
2019-08-28 10:23:00
287
转载 技术分享 | 控制mysqldump导出的SQL文件的事务大小
原创:陈俊聪 背景 有人问mysqldump出来的insert语句,是否可以按每 10 row 一条insert语句的形式组织。 思考1:参数--extended-insert 回忆过去所学: 我只知道有一对参数 --extended-insert(默认值) 表示使用长...
2019-08-27 10:54:00
320
转载 分布式 | DBLE 后端连接模块源码解读
原创:路路 作者简介 路路,热爱技术、乐于分享的技术人,目前主要从事数据库相关技术的研究。 前言 对于数据库中间件来说,后端连接模块是重中之重,也是难点。连接出现问题通常很难排查,需要具备网络抓包以及 MySQL 协议的知识才能进行定位。 本文将从源码层面,力求详尽的分析后端...
2019-08-26 10:57:00
344
转载 技术分享 | binlog 异常暴涨分析
原创作者:高鹏 背景 这是一个朋友遇到的问题,他的现象大概如下(MySQL5.6): 某个binlog实际大小3g左右,实际设置大小应该是1g 其中包含一个大事务,但是最后一个事务是小事务 查看大事务的XID_EVENT('commit')时间和最后一个小事...
2019-08-23 10:32:00
382
转载 技术分享 | MySQL 8 和 MySQL 5.7 在小型设备的内存消耗分析
原创:管长龙 译 作者:Peter Zaitsev 虽然我们经常在较大规模的系统上运行 MySQL ,但我们常常在最小的云实例上运行 MySQL,或者只在我们的笔记本电脑上运行它。在这些情况下,MySQL 8 和 MySQL 5.7 的内存消耗非常重要。 在比较 MySQL...
2019-08-22 10:41:00
827
转载 技术分享 | innodb-cluster 扫盲-安装篇
原创:杨涛涛 本文介绍用 MySQL Shell 搭建 MGR 的详细过程。 1、使用前,关掉防火墙,包括 selinux,firewalld,或者 MySQL 企业版的firewall(如果用了企业版的话) 2、两台机器:(4 台 MySQL 实例) 192.168.2.219 c...
2019-08-21 14:09:00
600
转载 技术分享 | 网络带宽如何影响 MySQL 性能
原创:管长龙 译 作者:Vadim Tkachenko 网络是数据库基础架构的主要部分。但是,通常性能基准测试是在本地计算机上完成的,客户端和服务器并置在一起。这样做是为了简化结构并排除一个以上的变量(网络部分),但是我们也忽略了网络对性能的影响。 对于像 MySQL Gr...
2019-08-20 10:29:00
593
转载 技术分享 | 死锁分析案例
作者:高鹏 文章末尾有他著作的《深入理解MySQL主从原理 32讲》,深入透彻理解MySQL主从,GTID相关技术知识。 一、问题由来 这是我同事问我的一个问题,在网上看到了如下案例,本案例RC RR都可以出现,其实这个死锁原因也比较简单,我们来具体看看: ...
2019-08-19 11:38:00
199
转载 数据传输 | DTLE Release Notes 详细解读 2.19.07.0
爱可生开源社区 2.19.07.0 版本 DTLE Release Notes 以下对 DTLE 2.19.07.0 版本的 Release Notes 进行详细解读。 文章主要分为三部分内容: 一、DTLE 项目介绍 二、改进/产品特点 三、Bug 修复 四、DTLE Re...
2019-08-16 13:26:00
194
转载 技术分享 | MySQL 执行 GROUP BY 的四种方式
原创:管长龙 译 作者:Peter Zaitsev 在日常查询中,索引或其他数据查找的方法可能不是查询执行中最高昂的部分,例如:MySQL GROUP BY 可能负责查询执行时间 90% 还多。 MySQL 执行 GROUP BY 时的主要复杂性是计算 GROUP BY 语...
2019-08-14 10:30:00
119
转载 技术分享 | 分库分表 or NewSQL数据库?终于看懂应该怎么选!
转自 DBAplus社群爱可生开源社区昨天 作者介绍 温卫斌,就职于中国民生银行信息科技部,目前负责分布式技术平台设计与研发,主要关注分布式数据相关领域。 最近与同行科技交流,经常被问到分库分表与分布式数据库如何选择,网上也有很多关于中间件+传统关系数据库(分库分表)与NewS...
2019-08-13 10:55:00
138
转载 技术分享 | InnoDB 排序索引的构建
原创:管长龙 译 作者:Satya Bodapati 从 MySQL 5.7 开始,开发人员改变了 InnoDB 构建二级索引的方式,采用自下而上的方法,而不是早期版本中自上而下的方法了。在这篇文章中,我们将通过一个示例来说明如何构建 InnoDB 索引。最后,我将解释如何通...
2019-08-12 10:36:00
214
转载 技术分享 | ZooKeeper 快速部署 DBLE 集群环境
原创:叶晓莉 本文需读者掌握 ZooKeeper 和 DBLE 基本原理。 想要学习 DBLE 相关知识的小伙伴可以查看文章末尾的 DBLE 公开课。 ZooKeeper - 分布式协调技术 / DBLE - 分布式数据库中间件,使用二者搭建集群,能够为 MySQL 集群...
2019-08-09 10:11:00
310
转载 技术分享 | Charset 和 Collation 设置对 MySQL 性能的影响
原创:管长龙 译 作者:Vadim Tkachenko 通过测试,比较 MySQL 5.7.25 和 MySQL 8.0.15 之间字符集和校验规则的设置所带来的性能差异。 测试环境 系统 | Ubuntu 18.04 LTS (bionic) 内核...
2019-08-08 10:40:00
104
转载 新特性解读 | 对于不同版本的组复制成员处理的改进
原创:管长龙 译 作者:jaideep.karande 背景 为获得最佳兼容性和性能,组的所有成员为了 Group Replication,应运行相同版本的 MySQL Server。但是,在某些情况下,可能需要组内有不同版本的服务器运行共存。例如,在滚动升级期间。当组中存在...
2019-08-07 10:30:00
113
转载 技术分享 | MySQL 8.0.17 如何用克隆插件从头开始创建一个实例副本
原创:管长龙 译爱可生开源社区昨天 作者:Vinicius Grippa 序 在这篇文章中,我们将讨论一个新功能 —— MySQL 8.0.17 clone 插件。在文章中,我将演示如何轻松地创建“经典”复制(一主一从),从头开始构建备用副本。 克隆插件允许在本地...
2019-08-06 10:35:00
207
转载 新特新解读 | MySQL 8.0 对 count(*)的优化
原创:杨涛涛 摘要:MySQL 8.0 取消了 sql_calc_found_rows 的语法,以后求表 count(*) 的写法演进为直接 select。 我们知道,MySQL 一直依赖对 count(*) 的执行很头疼。很早的时候,MyISAM 引擎自带计数器,可以秒回;不...
2019-08-05 11:03:00
1055
转载 技术分享 | 如何验证 xtrabackup 原理图中文件顺序的正确性
原创:陈俊聪 背景 有时候我们需要获取文件的创建时间。 例如:我在研究 《xtrabackup 原理图》的时候,想通过观察确认 xtrabackup_log 是最早创建 并且是 最晚保存的文件。我们就需要知道 xtrabackup_logfile 这个文件的创建时间戳和修改时间戳。 ...
2019-08-02 10:54:00
107
转载 技术分享 | 关于隐式的临时表导致磁盘空间耗尽的问题分析
原创:管长龙 译 作者:Corrado Pandiani 背景 最近遇到了一个关于 MySQL 完全耗尽磁盘空间的问题。这是个严重的问题,因为会导致服务不断地中断,客户会不断的重启服务并在不久后再次宕机。 究竟发生了什么?在本文中,将解释原因并找到解决方案。 ...
2019-08-01 10:26:00
210
转载 技术分享 | 克隆:更优雅的创建 MySQL 实例副本
原创:管长龙 翻译 原创作者:Debarun Banejee 发布时间:2019年7月23日 背景 大多情况下,需要可靠而有效地克隆 MySQL 实例数据。这包括 MySQL 高可用的解决方案,其中需要在将实例加入组复制集群之前配置实例,或者在经典复制模型中将其添加为...
2019-07-31 12:40:00
105
转载 技术分享 | MongoDB 分片节点同时作为chunk migration的源端和目标端导致迁移失败...
原创:余朝飞 背景 某客户反馈某个MongoDB Sharding集群中,各个分片节点chunk分布严重不均衡,且每天晚上在迁移窗口(activeWindow)进行chunk迁移操作在日志均报错失败,需要分析原因。 影响面 各分片节点数据严重倾斜,数据无法自动...
2019-07-30 15:44:00
333
转载 技术分享 | 实战 MySQL 8.0.17 Clone Plugin
原创:陈俊聪 背景 很神奇,5.7.17 和 8.0.17,连续两个17小版本都让人眼前一亮。前者加入了组复制(Group Replication)功能,后者加入了克隆插件(Clone Plugin)功能。今天我们实战测试一下这个新功能。 克隆插件简介 克隆插件允许在本地或从远...
2019-07-29 11:00:00
241
转载 技术分享 | 派生表中的各种外部引用
原创:管长龙 译爱可生开源社区昨天 作者:Guilhem Bichot 翻译:管长龙 使用 LATERAL,JOIN 可以具有第二个表 - 基于子查询的派生表 - 基于第一个表的列的值进行定义,因此可以为第一个表的每一行重新计算。典型: SELECT ... FRO...
2019-07-26 14:15:00
131
转载 新特性解读 | MySQL 8.0 正则替换
原创:杨涛涛 MySQL 一直以来都支持正则匹配,不过对于正则替换则一直到MySQL 8.0 才支持。对于这类场景,以前要么在MySQL端处理,要么把数据拿出来在应用端处理。 比如我想把表y1的列str1的出现第3个action的子 串替换成dble,怎么实现? 1. 自己写SQL层的...
2019-07-25 14:21:00
199
转载 技术分享 | MySQL 8.0.17 GA 发布!
原创作者:管长龙 昨日 MySQL 官网正式发布 8.0.17 / 5.7.27 / 5.6.45 三个(维护)版本,距离上一个 GA 版本(8.0.16)发布时隔仅 88 天! MySQL 各开发团队的博客网站,同一时间发布了多篇文章报道新版本发布(后续翻译)。三个版本除了修复...
2019-07-24 10:52:00
223
转载 技术分享 | tcmalloc解决mysqld实例引发的cpu过高问题
作者简介 任坤,现居珠海,先后担任专职 Oracle 和 MySQL DBA,现在主要负责 MySQL、mongoDB 和 Redis 维护工作。 背景 MySQL 版本:5.6.29,普通主从 OS:CentOS6.8 最近一段时间线上某实例频繁报警CPU飙高,每次都捕获到同一种...
2019-07-23 12:14:00
132
转载 新特性解读 | MySQL 8.0 资源组
原创作者:杨涛涛 在MySQL 8.0 之前, 我们假设一下有一条烂SQL, mysqlselect * from t1 order by rand() ; 以多个线程在跑,导致CPU被跑满了,其他的请求只能被阻塞进不来。那这种情况怎么办? 大概有以下几种解决办法...
2019-07-22 10:02:00
94
转载 技术分享 | 修改外键和元数据锁定
原创:管长龙 译 原文:https://www.percona.com/blog/2019/07/02/alters-foreign-keys-and-metadata-locks-oh-my/ 作者:Mike Benshoof 当你开始执行一个 ALTER ,而你遇到了可...
2019-07-19 10:56:00
98
转载 技术分享 | MySQL 大对象一例
原创作者:杨涛涛 背景 MySQL 一直以来都有 TEXT、BLOB 等类型用来存储图片、视频等大对象信息。比如一张图片,随便一张都 5M 以上。视频也是,随便一部视频就是 2G 以上。 假设用 MySQL 来存放电影视频等信息,一部是 2G,那么存储 1000 部就是 2TB,2...
2019-07-17 14:29:00
135
转载 技术分享 | MySQL 客户端连不上(1045 错误)原因全解析
原创作者:管长龙 译 作者:Carlos Tutte、Marcos Albe 翻译:管长龙 在我们学习 MySQL 或从事 MySQL DBA 工作期间,时常会遇到:“我尝试连接到 MySQL 并且收到1045 错误,但我确定我的用户和密码都没问题”。 不管你现在是否是高手还...
2019-07-16 13:33:00
156
转载 技术分享 | MTS并行增量应用
原创作者:爱可生开源社区 MySQL的复制延迟在早期版本一直存在,MySQL 5.6.3版本后开始支持并行复制,并在5.7进一步完善可用并行复制功能,官方将该功能称为enhanced multi-threaded slave(简称 MTS),从此复制延迟问题得到很大的改善。 ...
2019-07-15 10:05:00
189
转载 新特性解读 | MySQL 8.0 Temptable 引擎介绍
原创作者:杨涛涛 提到MySQL临时表,我们都很熟悉了,一般来说,分为两类: 1. MySQL 临时表引擎,名字叫做 Memory。比如 create table tmp1(id int, str1 varchar(100) ) engine = memory; 由参数max_h...
2019-07-12 14:50:00
575
转载 技术分享 | MySQL默认值选型(是空,还是 NULL)
原创作者:周启超 如果对一个字段没有过多要求,是使用“”还是使用 NULL,一直是个让人困惑的问题。即使有前人留下的开发规范,但是能说清原因的也没有几个。NULL 是“”吗?在辨别 NULL 是不是空的这个问题上,感觉就像是在证明 1 + 1 是不是等于 2。 在 MySQL 中的 ...
2019-07-10 17:10:00
737
转载 新特性解读 | MySQL 8.0 动态权限
原创:杨涛涛 背景 在了解动态权限之前,我们先回顾下 MySQL 的权限列表。 权限列表大体分为服务级别和表级别,列级别以及大而广的角色(也是MySQL 8.0 新增)存储程序等权限。我们看到有一个特殊的 SUPER 权限,可以做好多个操作。比如 SET 变量,在从机重新指定相关...
2019-07-10 14:53:00
335
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人