摘要:在DBA的日常工作中,快速部署数据库高可用架构,且标准化地入网部署数据库是一项重要的基础任务。本文将介绍常见的部署MGR的方式,并重点介绍万里数据库的GreatADM数据库管理平台进行图形化、可视化、标准化的部署过程,以提高交付效率和质量,给DBA提供一种全新的体验。(本文阅读大约需要46分钟)引言常见的数据库入网交付的方式和各自优缺点方式一:手动部署这是最基本的部署方式,需要手动在每个节点上安装、配置cnf...
2023-08-30 11:58:01 200浏览 0点赞 0回复 0收藏
1.说在前面的话2.安装employees测试库3.观测SQL运行状态3.1观测SQL运行时的内存消耗3.2观测SQL运行时的其他开销3.3观测SQL运行进度感知SQL运行时的状态1.说在前面的话在MySQL里,一条SQL运行时产生多少磁盘IO,占用多少内存,是否有创建临时表,这些指标如果都能观测到,有助于更快发现SQL瓶颈,扑灭潜在隐患。从MySQL5.7版本开始,performanceschema就默认启用了,并且还增加了sysschema,到了8.0版本又进一...
2023-08-30 11:57:07 279浏览 0点赞 0回复 0收藏
一、引言1.1什么是MySQLShellMySQLShell是MySQL的一个高级客户端和代码编辑器,是第二代MySQL客户端。第一代MySQL客户端即我们常用的MySQL。除了提供类似于MySQL的SQL功能外,MySQLShell还提供JavaScript和Python脚本功能,并包括与MySQL一起使用的API。MySQLShell除了可以对数据库里的数据进行操作,还可以对数据库进行管理,特别是对MGR的支持,使用MySQLShell可以非常方便的对MGR进行搭建、管理、配置等1.2什么是MySQLShellf...
2023-08-30 11:56:28 435浏览 0点赞 0回复 0收藏
1、背景公司内部看到一则问题1、kill9mysqldsafe进程2、systemd检测到mysqldsafe进程不存在后,重新拉起mysqldsafe进程3、mysqldsafe进程启动后,发现mysqld进程也被重启期望:启、停mysqldsafe进程,不会影响mysqld进程2、systemd服务启动2.1、复现问题1)、查看数据库服务状态[greatsqlgreatsql1]$sudosystemctlstatusdb4306●db4306.servicedb4306ServerLoaded:loaded(usrlibsystemdsystemdb4306.service;disabled;vendorpres...
2023-08-30 11:56:00 144浏览 0点赞 0回复 0收藏
一、前言原有的业务系统跑在MySQL主从架构中,高可用通过脚本完成,但存在切换数据丢失和切换不及时风险,调研了高可用更稳定的MGR后,准备入手一试。本篇文章主要记录GreatSQL从单机扩展到MGR的详细过程,遇到的问题及解决方法。二、基础环境服务器角色如下IP端口主机名作用172.17.140.253310gdb1原单机172.17.140.243310gdb2MGR扩展节点1172.17.139.1643310gdb3MGR扩展节点2本次验证使用的是GreatSQL8.0.3224版本,相比MySQL...
2023-08-30 11:55:36 204浏览 0点赞 0回复 0收藏
前言说到MySQL的MTS,相信很多同学都不陌生,从5.6开始基于schema的并行回放,到5.7的LOGICALCLOCK支持基于事务的并行回放,这些内容都有文章讲解,在本篇文章不再赘述。今天要讲的是,你知道如何查看并行回放是否存在性能瓶颈吗,是由于主库事务行为导致无法并行回放,还是由于worker线程不足,限制了并行回放的天花板?这都得从一个Note信息说起。MY010559在开启了多线程回放的从库errorlog,我们经常能看到Note级别的日志信...
2023-08-30 11:55:07 259浏览 0点赞 0回复 0收藏
1、问题描述用户showgrants显示只有连接权限,但该用户却能执行sbtest.下的所有操作GreatSQL>\s...Serverversion:8.0.3224GreatSQL,Release24,Revision3714067bc8c...GreatSQL>showgrants;++Grantsforuser1172.%++GRANTUSAGEON.TOuser1172.%++1rowinset(0.00sec)GreatSQL>selectfromsbtest.sbtest1limit1;+++++idkcpad+++++12505073942347759896895752911215503342507137131003454727381253072726761288302500348844794...
2023-08-30 11:31:37 108浏览 0点赞 0回复 0收藏
1.概述MySQL8.0.22开始,支持异步连接故障切换机制,在现有主从复制连接失败后,自动建立到新主的异步复制连接。MySQL8.0.23开始,异步连接故障切换机制还支持组复制拓扑,通过自动监视组成员身份的更改并区分主节点和从节点,在组复制主节点故障选出新主节点后,自动建立到新主的异步复制连接。MySQL8.0.26开始,组复制可以设置组成员在特定情况下采取的操作,比如成员操作mysqldisablesuperreadonlyifprimary当选择一...
2023-08-30 11:31:10 177浏览 0点赞 0回复 0收藏
背景概述在一次客户的数据库实例连接不上了,需要我们排查一下原因,通过查看数据库实例进程已经不存在了,在错误日志中没有发现其他报错信息,发现有shutdown的字样出现,怀疑是某个用户手动关闭了实例。我们通过以下测试,发现是由于用户关闭了主机所导致的。问题复现本次测试基于GreatSQL8.0.3224,通过以下测试了解不同情况下关闭数据库实例后错误日志会记录哪些信息,之后可以通过错误日志中的信息了解到...
2023-08-28 14:24:38 130浏览 0点赞 0回复 0收藏
一、问题发现二、问题调查过程三、问题解决方案四、问题总结一、问题发现在一次开发中在sp中使用MySQLPREPARE以后,使用matchAGAINST语句作为preparestmt的参数后,发现执行第二遍call会导致数据库crash,于是开始动手调查问题发生的原因。注:本次使用的MySQL数据库版本为最新的debug版本。SQL语句示例:CREATETABLEt1(aINT,bVARCHAR(10));DELIMITER$$CREATEPROCEDUREp1()begindeclareaVARCHAR(20...
2023-08-28 14:24:19 153浏览 0点赞 0回复 0收藏
前言说到MySQL的MTS,相信很多同学都不陌生,从5.6开始基于schema的并行回放,到5.7的LOGICALCLOCK支持基于事务的并行回放,这些内容都有文章讲解,在本篇文章不再赘述。今天要讲的是,你知道如何查看并行回放是否存在性能瓶颈吗,是由于主库事务行为导致无法并行回放,还是由于worker线程不足,限制了并行回放的天花板?这都得从一个Note信息说起。MY010559在开启了多线程回放的从库errorlog,我们经常能看到Note级别的日志信...
2023-08-28 14:23:59 147浏览 0点赞 0回复 0收藏
1、问题描述用户showgrants显示只有连接权限,但该用户却能执行sbtest.下的所有操作GreatSQL>\s...Serverversion:8.0.3224GreatSQL,Release24,Revision3714067bc8c...GreatSQL>showgrants;++Grantsforuser1172.%++GRANTUSAGEON.TOuser1172.%++1rowinset(0.00sec)GreatSQL>selectfromsbtest.sbtest1limit1;+++++idkcpad+++++12505073942347759896895752911215503342507137131003454727381253072726761288302500348844794...
2023-08-28 14:23:37 131浏览 0点赞 0回复 0收藏
1.概述MySQL8.0.22开始,支持异步连接故障切换机制,在现有主从复制连接失败后,自动建立到新主的异步复制连接。MySQL8.0.23开始,异步连接故障切换机制还支持组复制拓扑,通过自动监视组成员身份的更改并区分主节点和从节点,在组复制主节点故障选出新主节点后,自动建立到新主的异步复制连接。MySQL8.0.26开始,组复制可以设置组成员在特定情况下采取的操作,比如成员操作mysqldisablesuperreadonlyifprimary当选择一...
2023-08-28 14:23:05 131浏览 0点赞 0回复 0收藏
背景概述在一次客户的数据库实例连接不上了,需要我们排查一下原因,通过查看数据库实例进程已经不存在了,在错误日志中没有发现其他报错信息,发现有shutdown的字样出现,怀疑是某个用户手动关闭了实例。我们通过以下测试,发现是由于用户关闭了主机所导致的。问题复现本次测试基于GreatSQL8.0.3224,通过以下测试了解不同情况下关闭数据库实例后错误日志会记录哪些信息,之后可以通过错误日志中的信息了解到...
2023-08-28 11:53:42 131浏览 0点赞 0回复 0收藏
一、问题发现二、问题调查过程三、问题解决方案四、问题总结一、问题发现在一次开发中在sp中使用MySQLPREPARE以后,使用matchAGAINST语句作为preparestmt的参数后,发现执行第二遍call会导致数据库crash,于是开始动手调查问题发生的原因。注:本次使用的MySQL数据库版本为最新的debug版本。SQL语句示例:CREATETABLEt1(aINT,bVARCHAR(10));DELIMITER$$CREATEPROCEDUREp1()begindeclareaVARCHAR(20...
2023-08-28 11:53:20 98浏览 0点赞 0回复 0收藏
很多小伙伴使用了GreatSQL,但是对GreatSQL的底层原理还不是很了解,今天就带大家一起揭开GreatSQL体系架构的神秘面纱!首先来回顾一张经典的体系架构图:图1GreatSQL5.7版本体系架构图由此可以发现,GreatSQL5.7由以下几部分组成连接池组件系统管理和控制工具SQL接口组件查询解析器查询优化器缓存组件可插拔存储引擎系统和日志文件GreatSQL数据库区别于其他数据库的一个特点就是其可插拔的表存储引擎,特别需要注意的是,存储...
2023-08-28 11:52:44 118浏览 0点赞 0回复 0收藏
一、Bug描述同事遇到一个有意思的语句,说一条SQL在MySQL8.0.25版本运行出的结果明显与给定的where条件不符,而在8.0.26版本上是正常的,语句上加了一个无关的用户变量后在8.0.25版本上结果才是正确的,想不通这是怎么回事,这么有意思的事情自然引起了我的兴趣,借此机会深入了解了一下MySQL关于derivedtable的优化。为了方便演示效果,让小伙伴们关注到现象的本质,我将语句进行了简化处理。下面是模拟的表结构与数据。create...
2023-08-28 11:52:20 147浏览 0点赞 0回复 0收藏
前言Instantaddordropcolumn的主线逻辑表定义的列顺序与row存储列顺序阐述引入row版本的必要性数据腐化问题原因分析Bug重现与解析MySQL8.0.30修复方案前言DDL相对于数据库的DML之类的其他操作,相对来说是比较耗时、相对重型的操作;因此对业务的影比较严重。MySQL从5.6版本开始一直在持续改进其DDL性能:引入了onlineDDL,inplaceDDL,instantDDL等实用性极强的功能,DDL目前对业务的影响持续降低。MySQL8.0.29引入了instantadd...
2023-08-28 11:47:23 153浏览 0点赞 0回复 0收藏
芬达,《芬达的数据库学习笔记》公众号作者,开源爱好者,擅长MySQL、ansible。背景openEuler是什么openEuler22.03LTS是openEuler社区于2022年3月发布的开源操作系统(从系统版本的命名不难发现吧)。openEuler社区的运营由华为为主导,社区以全球开源贡献者的合作,构建了这个高效、稳定和安全的操作系统。基于Linux内核的openEuler操作系统,支持Kunpeng以及其他处理器,旨在充分发挥计算芯片的潜力。它适用于数据库、大数据...
2023-08-25 16:06:06 237浏览 0点赞 0回复 0收藏
GreatSQL删除分区慢的跟踪背景某业务系统,每天凌晨会删除分区表的一个分区(按天分区),耗时较久,从最开始的30秒,慢慢变为1分钟+,影响到交易业务的正常进行。在测试环境进行了模拟,复现了删除分区慢的情况,本次基于GreatSQL8.0.2517进行测试,官方mysql版本也存在相同问题。测试环境$mysqlh127.0.0.1P8025urootpmysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.WelcometotheMySQLmonitor.Commandsen...
2023-08-25 16:04:42 215浏览 0点赞 0回复 0收藏