自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老叶茶馆

叶金荣,ORACLEMySQLACE,专注MySQL十余年,分享MySQL技术及工作心得.个人站点:http://imysql.com

  • 博客(1245)
  • 收藏
  • 关注

原创 该开始关注 MySQL 8.4 了

写在前面MySQL 8.0 版本即将于 2026年4月结束服务支持,而 MySQL 8.4 作为当前的 LTS 版本,在 MySQL 的 Release Notes 和手册上都被加上了 current 标记。也就是说,对版本选择偏稳重的铁子们,可以在 8.0 版本后选择 8.4 版本。升级、降级 兼容关系表先看下未来几个主要版本之间的 升级、降级 兼容关系表,作为选择具体哪个版本之前的重要参考之一...

2024-09-03 07:04:48 1440

原创 自建Docker私有镜像仓库

如何在 CentOS 8 中搭建 Docker 私有镜像仓库。先行安装了 Docker,本文中使用的 Docker 版本是 20.10.9。$docker--versionDockerversion20.10.9,buildc2ea9bc由于需要使用远程访问,因此需要使用网络模块,并且要保证此模块开机自动启动。$cat>/etc/modules-load.d/docker...

2024-08-19 17:31:16 396

原创 多阶段构建后,Docker镜像大小只有原来的1/6

简介在构建 Docker 镜像时,常遇到以下问题:每一次执行 RUN 命令会让镜像新增一层 layer,导致镜像变大,虽然通过 && 连接多个命令能缓解此问题,但如果命令之间用到 Docker 指令例如 COPY、WORKDIR 等,依然会导致多个layer。有些工具在构建过程中会用到,但是最终的镜像是不需要的(例如本案里中编译 GreatSQL 需要安装 cmake, gcc 等...

2024-08-15 10:24:37 750

原创 在 Docker 容器中使用 GreatSQL VIP

GreatSQL Docker 镜像不支持在 Docker 中使用 VIP 功能。原因如下:在 Docker 中,无法用 systemd 方式来启动 GreatSQL。在打包时,也没有将 mysqld 程序文件属主改为 root,并加上 setcap 提权。因此,想要在 Docker 中使用 GreatSQL VIP 的话,需要自行处理。下面介绍如何在 Docker 容器中使用 GreatSQL ...

2024-08-13 16:00:04 554

转载 GreatSQL 8.0.32-26 GA(2024.8.5)

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。版本信息发布时间:2024年08月05日版本号:8.0.32-26, Revision a68b3034c3d下载链接:https://gitee.com/GreatSQL/GreatSQL/releases/tag/GreatSQL-8.0.32-26用户手册:https://greatsql.cn/docs/8.0...

2024-08-05 11:30:28 82

原创 慎重升级到MySQL 8.0.38及更高版本(文末附规避风险办法)

昨日,Percona 资深工程师 Marco Tusa 爆料,升级到 MySQL 8.0.38 版本后,当实例中的表个数超过一万个,实例重启后会发生 Crash 而失败,即便是重启时加上 validate_tablespace_paths=OFF 也不行。这个问题在 >= 8.0.38 版本中存在,包括 8.4.1 和 9.0.0。详细复现过程参见:https://perconadev.at...

2024-07-12 15:09:59 1362

原创 Oracle MySQL,怒其不争,自甘堕落

我刚在前文MySQL 9.0发布,号称支持向量(Vector),但我却看不懂Oracle到底在玩什么中吐槽 MySQL 9.0 手册和release notes里只字不提新增Vector(向量)数据类型及相关函数的事,后脚就被piapia打脸。前文发完后,MySQL 官方徐老师(公众号:MySQL解决方案工程师)也证实了我的猜想:在 MySQL 9.0 里新增向量数据类型是为了 Heatwav...

2024-07-04 09:23:16 405

原创 MySQL 9.0发布,号称支持向量(Vector),但我却看不懂Oracle到底在玩什么

我历来对这种每个大版本里的第一个小版本都不感冒,认为最多保持关注即可,无需大惊小怪。认真阅读新版本手册中的 What Is New这部分内容,以及 release notes,了解新版本的动向及意图基本足矣。但这次的MySQL 9.0发布,却激起了涟漪。从昨晚开始,MySQL 圈就沸腾了,都在讨论9.0新版本。Oracle 官方 blog 推文里爆料即将新增 Vector 数据类型New!Ve...

2024-07-02 08:58:13 448

转载 Slave SQL线程与PXB FTWRL死锁问题分析

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。1. 问题背景2.27号凌晨生产环境MySQL备库在执行备份期间出现因FLUSH TABLES WITH READ LOCK未释放导致备库复制延时拉大,慢日志内看持锁接近25分钟未释放。版本:MySQL 5.7.21PXB 2.4.18慢查询日志:备份脚本中的备份命令:mysql_kill.sh的主要逻辑内容:备份参数...

2024-05-18 07:48:16 87

转载 GreatSQL统计信息维护管理

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。相关知识点:INNODB_STATS_PERSIST=ON或用STATS_PERSIST=1定义单个表时,优化器统计信息将持久化到磁盘。默认情况下,innodb_stats_persistent是启用的。持久统计信息存储在mysql.innodb_table_stats和mysql.innodb_index_stats...

2024-05-16 08:34:11 59

转载 GreatSQL死锁案例分析及扩展解读

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。1.背景概述客户业务发生死锁的报错,根据业务程序日志及业务流程,发现造成死锁的原因是:事务1 delete + insert ,事务2 delete + insert,这两个事务交替执行导致的死锁;由于GAP锁阻塞了插入意向锁,并且当delete的数据存在时死锁不会发生,当delete的数据不存在时,会发生死锁。2.问...

2024-05-14 07:01:50 74

转载 GreatSQL优化技巧:半连接(semijoin)优化

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。何为半连接?半连接是在GreatSQL内部采用的一种执行子查询的方式,semi join不是语法关键字,不能像使用inner join、left join、right join这种语法关键字一样提供给用户来编写SQL语句。两个表t1表和t2表进行半连接的含义是:对于t1表的某条记录来说,我们只关心在t2表中是否存在与之...

2024-05-11 07:03:55 135

转载 MySQL复制从库延迟优化思路

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。1、什么是MySQL复制延迟?本质是MySQL从库的relay log回放跟不上主库生成速度,产生延迟2、主从延迟常见的原因有哪些?1、大事务,从库回放时间较长,导致主从延迟2、主库写入过于频繁,从库回放跟不上3、参数配置不合理4、主从硬件差异5、网络延迟6、表没有主键或者索引大量频繁的更新7、一些读写分离的架构,从库...

2024-05-09 07:03:54 143

转载 MySQL复制从库延迟原因深入分析

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。背景介绍近来一套业务系统,从库一直处于延迟状态,无法追上主库,导致业务风险较大。从资源上看,从库的CPU、IO、网络使用率较低,不存在服务器压力过高导致回放慢的情况;从库开启了并行回放;在从库上执行SHOW PROCESSLIST看到没有回放线程阻塞,回放一直在持续;解析relay log日志文件,发现其中并没大事...

2024-05-07 14:11:23 124

转载 给MySQL 5.7打补丁,并且编译出和官方一致的Linux Generic包

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。需求来源某客户现场业务系统出现了查询丢失数据问题(数据库为MySQL 5.7.21,使用Linux Generic包部署)。已查明:丢数据问题是触发了MySQL 5.7的一个bug,该bug在5.7的后继版本已修复。客户不想升级数据库版本,希望将fix的代码打到5.7.21重新编译后替换二进制。编译步骤准备包、源码和编...

2024-05-05 07:43:49 152

转载 探究网络延迟对事务的影响

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。1.背景概述最近在做数据同步测试,需要通过DTS将kafka中的数据同步到数据库中,4G的数据量同步到数据库用了大约4个多小时,这看起来很不合理。查看数据库所在主机的CPU,IO的使用率都不高,没有瓶颈。最后通过排查发现由于kafka 和DTS 以及数据库实例不再同一个机房,网络延迟较大,导致同步速率缓慢。将kafka...

2024-04-30 08:46:35 69

转载 SEQUENCE在GreatSQL与Oracle中的区别

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。前言在使用Oracle数据库SEQUENCE功能时,发现Oracle对边界处理比较奇怪。刚好GreatSQL也支持SEQUENCE,就拿来一起比较一下。先说结论:GreatSQL 的使用基本和Oracle基本一致,但是对 START WITH 的边界限制有所不同。本次测试使用数据库的版本号#Oracle版本BANN...

2024-04-27 07:00:46 49

转载 GreatSQL的多层SP中Cursor的m_max_cursor_index相关BUG分析

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。一、问题发现在一次开发中在sp中使用多层cursor的时候想知道每层的m_max_cursor_index值分别是多少,以用来做后续开发。于是做了以下的试验,但是发现第一个level=2那层的m_max_cursor_index的值有点问题。注:本次使用的GreatSQL 8.0.32-25。SQL语句示例:great...

2024-04-25 07:01:08 54

转载 源码解析丨一次慢SQL排查之旅

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。当long_query_time=1时(表info的id为主键),出现下面的慢日志,可能会让你吃惊#Time:2024-01-28T22:52:24.500491+08:00#User@Host:root[root]@[127.0.0.1]Id:8#Query_time:7.7607...

2024-04-23 08:45:28 62

转载 面试题:INSERT...t...SELECT s会对s表加锁吗

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。前言:insert into t2 select * from t1;这条语句会对查询表 t1 加锁吗?不要轻易下结论。对GreatSQL的锁进行研究之前,首先要确认一下事务的隔离级别,不同的事务隔离级别,锁的表现是不一样的。实验:创建测试表t1,t2greatsql>createtablet1(idi...

2024-04-20 13:50:13 57

转载 工具分享丨分析GreatSQL Binglog神器

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。在GreatSQL中,Binlog可以说是 GreatSQL 中比较重要的日志了,在日常开发及运维过程中经常会遇到。Binlog即Binary Log,二进制日志文件,也叫作变更日志(Update Log)。详细Binglog日志介绍:https://greatsql.cn/docs/8032-25/user-manu...

2024-04-18 07:00:39 49

转载 被很多人忽视的NULL值对NOT IN子查询结果的影响问题

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。前言开发人员写的 SQL 语句中经常会用到 in,exists,not in,not exists 这类子查询,通常,含 in、exists 的子查询称为半连接(semijoin),含 not in、 not exists 的子查询被称之为反连接。经常会有技术人员来评论 in 与 exists 效率孰高孰低的问题。我在...

2024-04-16 07:00:11 85

转载 MySQL 8.0.26版本升级32版本查询数据为空的跟踪

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。某业务系统将MySQL 8.0.26升级为 GreatSQL 8.0.32-24 后,某些特定的SQL语句不能查询到数据。经测试 MySQL 8.0.32也存在相同的问题此BUG已在 GreatSQL 8.0.32-25 版本中解决接到客户反馈的问题后,对问题进行了复现和分析。版本信息greatsql>sele...

2024-04-13 07:00:59 73

转载 被误写入Slave的数据如何恢复到主库

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。背景在GreatSQL主从复制环境中,有时候可能会出现一些误操作,将本应该写入到主库的数据写入到了从库,导致主从数据不一致,影响数据同步。是否可以将写入从库的数据同步写入主库呢?测试环境角色IP地址数据库开放端口版本主库192.168.137.1793308GreatSQL 8.0.32从库192.168.137.18...

2024-04-11 09:08:22 52

转载 MyCat分库分表实时同步到GreatSQL

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。这个事情怎么产生的MyCat作为经典的分库分表中间件,在长时间内被广泛认为是管理超大MySQL数据库集合的有效解决方案。近来接到客户需求,需要将MyCat集群迁移到GreatSQL中,并且在一段时间内需要实时从MyCat中同步数据到GreatSQL中,全量同步数据比较容易操作,增量同步有如下两个棘手的问题:多个serv...

2024-04-06 10:33:09 64

转载 SQL优化案例解析:MINUS改写为标量子查询后提升5倍,但还可以再快近百倍

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。写在前面(By老叶)从GreatSQL 8.0.32-25版本开始支持Rapid引擎,该引擎使得GreatSQL能满足联机分析(OLAP)查询请求。老叶尝试利用Rapid引擎优化本案例,结果是相当可喜的,对比如下:-SQL执行耗时(秒)Rows_examinedRead_keyRead_nextRead_rnd_nex...

2024-04-03 07:02:35 114

转载 关于GreatSQL字符集的总结

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。前言最近的SQL优化工作中经常遇到因字符集或校验规则不一致导致索引使用不了的问题,修改表的字符集或校验规则相当于把表重构,表中数据量大时,处理起来费时费力,希望应用开发者在设计之初时注意到此问题,让后期接手运维的小伙伴少一些负担。GreatSQL的字符集和校验规则种类繁多,提供灵活性的同时,也带来使用混乱的烦恼。本文对...

2024-04-02 07:00:42 64

转载 LOAD DATA中包含NULL导致主从报错结局

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。1.背景概述目前需要搭建一个从库,由于单表数据量较大,时间比较有限,考虑到导入导出的时间,并且GreatSQL支持并行load data的功能,能够加速数据的导入,因此决定使用 select into outfile 和 load data 的方式进行数据的迁移;在数据导入完成后进行数据同步,从库发生报错 1032 找...

2024-03-30 09:07:00 139

转载 GreatSQL登陆Arch Linux之旅

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。了解Arch LinuxArch Linux是一个轻量、灵活、基于x86-64架构的Linux发行版,遵循K.I.S.S.原则。注重代码正确、优雅和极简主义,期待用户能够愿意去理解系统的操作。1.简洁Arch Linux将简洁定义为:避免任何不必要的添加、修改和复杂增加。简单来说,archlinux 是一个可以让用户自...

2024-03-28 07:01:21 84

转载 GreatSQL Shell如何接管手动搭建(含仲裁节点)MGR集群

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。本文源自GreatSQL社区用户的一次提问:Q:一个包含仲裁节点(ARBITRATOR)的GreatSQL MGR集群,一开始是用手动方式构建,后来想用GreatSQL Shell接管,可以吗?A:是可以的,不过也有一定局限性具体的操作如下检查当前MGR集群情况greatsql>select*frompe...

2024-03-26 07:02:23 82

转载 荐书,爱可生开源社区《大智小技》

2024-03-20 15:57:00 67

原创 为什么SHOW TABLE STATUS显示Rows少了40%

1. 背景介绍测试环境中,有一个表执行 SHOW TABLE STATUS 时看到的 rows 结果总是和真实数量相差了将近40%:--执行SHOWTABLESTATUS,看到Rows只有约655万行数据greatsql>SHOWTABLESTATUSLIKE't1'\G***************************1.row****************...

2024-03-02 07:01:14 1065

转载 GreatSQL TPC-H 性能测试报告正式发布!

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。TPC-H 性能测试报告 - (2024 年 2 月28日)完整性能测试报告:https://greatsql.cn/docs/8032-25/user-manual/10-optimze/3-3-benchmark-greatsql-tpch-report.html1、概述本次测试针对GreatSQL数据库基于标准 ...

2024-02-28 10:30:52 107

转载 故障解析丨Clone节点导致主从故障

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。故障解析丨Clone节点导致主从故障1.背景概述在一次主从复制架构中,由于主节点binlog损坏,导致从节点无法正常同步数据,只能重做从节点;因此使用MySQL 8.0.17开始提供的clone技术进行恢复,恢复后的2天都发生了主从报错数据冲突。通过解析binlog发现,同一时刻主从节点都在执行同一条语句,因此询问业务...

2024-02-26 07:00:15 75

原创 编译GreatSQL with RocksDB引擎

GreatSQL里也能用上RocksDB引擎1. 前言RocksDB 是基于Facebook 开源的一种支持事务的、高度可压缩、高性能的MyRocks存储引擎,特别适用于高度压缩和大容量的数据。以下是一些关键特点:高性能: LSM 树结构使得RocksDB在写入密集型负载下表现卓越。它能够处理大量的写入操作,并且在写入操作上有较低的延迟。可压缩存储: 具有高度可压缩的特性,可以有效减小数据在磁盘上...

2024-02-22 11:02:04 985

转载 赞,GreatSQL AP引擎上线了,TPC-H 100G耗时不到80秒

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。Rapid引擎简述从GreatSQL 8.0.32-25版本开始,新增Rapid存储引擎,该引擎使得GreatSQL能满足联机分析(OLAP)查询请求。Rapid引擎采用插件(Plugin)方式嵌入GreatSQL中,可以在线动态安装或卸载。Rapid引擎不会直接面对客户端和应用程序,用户无需修改原有的数据访问方式。它...

2024-02-04 14:11:09 122

转载 图文结合丨Prometheus+Grafana+GreatSQL性能监控系统搭建指南(下)

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。一、环境介绍往期回顾:图文结合丨Prometheus+Grafana+GreatSQL性能监控系统搭建指南(上)本文环境,以及本文所采用数据库为GreatSQL 8.0.32-24$cat/etc/system-releaseRedHatEnterpriseLinuxServerrelease7.9...

2024-02-03 07:02:37 81

转载 图文结合丨Prometheus+Grafana+GreatSQL性能监控系统搭建指南(上)

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。一、环境介绍本文环境,以及本文所采用数据库为GreatSQL 8.0.32-24$cat/etc/system-releaseRedHatEnterpriseLinuxServerrelease7.9(Maipo)$uname-aLinuxgip3.10.0-1160.el7.x86_6...

2024-02-01 07:00:20 107

原创 12000 份发财红包封面免费送

发财红包封面又来啦寓意新年加薪发财两个红包封面,各6000份,共12000份剩余额度全打光,够诚意吧附送原图(阿里通义万相生成)祝大家春节快乐,新年涨薪发财龙年行大运,万事皆如愿使用说明每个用户ID限领1个红包封面,数量有限,先到先得;若用户已经领取过红包封面,会看到页面显示“已领取红包封面”;用户尚未领取时,若红包封面已被全部领取完,会看到页面显示“红包封面已领完”;红包封面使用有效期为领取后一...

2024-01-26 18:00:21 280

原创 6000 份发财红包封面免费送

免费发财红包封面来啦寓意新年加薪发财共6000份附送原图(阿里通义万相生成)祝大家春节快乐新年涨薪发财使用说明每个用户ID限领1个红包封面,数量有限,先到先得;若用户已经领取过红包封面,会看到页面显示“已领取红包封面”;用户尚未领取时,若红包封面已被全部领取完,会看到页面显示“红包封面已领完”;红包封面使用有效期为领取后一个月,有效期内可以无限次使用该封面,超过有效期后封面将自动失效,之前已发送的...

2024-01-25 18:04:22 206

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除