自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(290)
  • 收藏
  • 关注

原创 Percona Toolkit 神器全攻略(配置类)

GreatSQL是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。打印出来GreatSQL/MySQL的描述信息,包括:版本信息,数据目录,命令的统计,用户,数据库以及复制等信息还包括各个变量(status、variables)信息和各个变量的比例信息,还有配置文件等信息。因此,它显示了生成报告时计数器每秒增长的速度。

2024-06-26 09:34:06 988

原创 MySQL5.7 通过逻辑备份迁移到GreatSQL注意事项

在将数据库从MySQL 5.7迁移到GreatSQL8.0.32时,由于数据量较小且关注安全性,决定使用mysqldump执行逻辑备份,并将数据导入GreatSQL。但在备份时采用了备份全库(--all-databases)的方式,在导入GreatSQL后,修改用户密码时出现错误。这是因为mysqldump备份时包括了mysql系统库,而MySQL 5.7中的mysql系统库采用了MyISAM存储引擎,而GreatSQL的mysql系统库采用了InnoDB存储引擎。

2024-06-05 10:35:39 917

原创 Percona Toolkit 神器全攻略(实用类)

GreatSQL是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。pt-kill可以Kill掉任何语句,特别出现大量的阻塞,死锁,或某个有问题的SQL导致MySQL/GreatSQL负载很高的情况。会默认过滤掉复制线程。该工具首先计算每行包含的单词数量,并尝试确定是否有一个占主导地位的数字,将其假设为每行的单词数量。

2024-05-29 09:58:34 845

原创 官答丨slow_query_log_file实例内存中变量与配置文件设置的不一致

GreatSQL是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。用户疑问 slow log 日志为什么会带有0000001,一直产生多个 slow.log.xxxxxx 文件,原因是配置以下参数,当配置了以下参数,数据库会轮询产生 slow.log.xxxxxx 文件。当日志的大小达到设置值时,服务器将轮询慢日志。

2024-05-22 09:37:43 279

原创 Percona Toolkit 神器全攻略

Percona Toolkit简称(PT工具),是一组高级命令行工具,用于管理MySQL/GreatSQL的工具。可以用它来执行各种难以手动执行的MySQL/GreatSQL和系统任务。其功能包括检查主从复制的数据一致性、检查重复索引、定位IO占用高的表文件、在线DDL等,DBA熟悉掌握PT工具后将极大提高工作效率。本系列只介绍和探讨Percona Toolkit中针对MySQL/GreatSQL数据库的实用工具。

2024-05-20 11:22:28 389

原创 GreatSQL数据库DROP表后无法重建

3.5> 感觉进入了死胡同,最先想到的直截了当方法是备份APP业务库内除这张表的其他表,删除该数据库后,进行APP业务数据库的恢复,该方法没有测试,觉得太麻烦。4.1> 新建一个临时库test,依据app库目录里的数据文件名称,修改建表语句后,执行test_app表的建表SQL语句,生成test_app.frm文件;3.3> 进入数据库所在的目录下,查看test_app表的相关文件。4.3> 把临时库test目录下的test_app.frm文件拷贝到业务数据库app目录下,启动数据库;时,显示表删除成功。

2024-05-17 09:34:04 532

原创 GreatSQL的sp中添加新的sp_instr引入的bug解析

在GreatSQL的sp添加新的sp_instr需要相应增加对应的参数值以防止内存溢出,如果其他的功能也要做类似的修改,也要先仔细调查一下有没有涉及相关的参数配置或者宏定义,不然就会遇到各种莫名其妙的问题,调查起来也很花时间。这次发现的问题属于新添加功能带入的bug,在实际开发应用中类似的问题也要注意,一不小心就会踩坑。上述问题在MySQL/Percona中同样存在。

2024-05-08 09:37:59 568

原创 Slave SQL线程与PXB FTWRL死锁问题分析

145/146线程和备份线程162形成死锁,145线程等待162线程 global read lock 释放,162线程占有MDL::global read lock 全局读锁,申请全局commit lock的时候阻塞等待146线程,146线程占有MDL:: commit lock,因为从库设置slave_preserve_commit_order=1,保证从库binlog提交顺序,而146线程执行事务对应的binlog靠后面,所以等待145的事务提交。默认为0则表示立即执行。QQ群:533341697。

2024-04-29 09:48:51 344

原创 GreatSQL统计信息相关知识点

估计索引列的基数和其他统计信息(如由分析表计算的统计信息)时要采样的索引页数。增加该值可以提高索引统计信息的准确性,从而改进查询执行计划,但代价是在打开InnoDB表或重新计算统计信息时会增加I/O。该参数仅适用于为表禁用。非持久化统计信息的缺点显而易见,数据库重启后如果大量表开始更新统计信息,会对实例造成很大影响,所以目前都会使用持久化统计信息。:估计索引列的基数和其他统计信息(如由分析表计算的统计信息)时要采样的索引页数。:计算持久优化器统计信息时InnoDB是否包括已标记删除的记录,默认关闭。

2024-04-24 09:38:55 260

原创 Datax助力轻松迁移SQLServer数据至GreatSQL

GreatSQL是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。主要是通过过滤条件过滤掉了全量迁移的数据,进而变相的完成了增量迁移。mcr.microsoft.com/mssql/server:2017-latest:镜像名称:标签。":设置连接密码,密码不能太短太简单,否则不满足sqlserver密码规范,容器会停止运行。

2024-04-22 10:13:08 695

原创 GreatSQL 死锁案例分析

客户业务发生死锁的报错,根据业务程序日志及业务流程,发现造成死锁的原因是:事务1 delete + insert ,事务2 delete + insert 2个事务交替执行导致的死锁;由于GAP锁阻塞了插入意向锁,并且当delete的数据存在时死锁不会发生,当delete的数据不存在时,会发生死锁。

2024-04-19 10:00:25 434

原创 GreatSQL优化技巧:半连接(semijoin)优化

GreatSQL的 IN 子查询适用于半连接时,优化器提供了5种优化策略:Table pullout、FirstMatch、LooseScan、Duplicate weedout、materialize。

2024-04-17 09:47:47 561

原创 主从延迟调优思路

本质是从库的回放跟不上主库,回放阶段的延迟回顾MySQL并行复制的路程MySQL5.6 是基于数据库级别的并行复制slave-parallel-type=DATABASE(不同库的事务,没有锁冲突)MySQL5.7 基于group commit的并行复制slave-parallel-type=LOGICAL_CLOCK : Commit-Parent-Based模式(同一组的事务[last-commit相同]没有锁冲突. 同一组,肯定没有冲突,否则没办法成为同一组)

2024-04-15 09:44:04 758

原创 从库延迟案例分析

近来一套业务系统,从库一直处于延迟状态,无法追上主库,导致业务风险较大。从资源上看,从库的CPU、IO、网络使用率较低,不存在服务器压力过高导致回放慢的情况;从库开启了并行回放;在从库上执行show processlist看到没有回放线程阻塞,回放一直在持续;解析relay-log日志文件,发现其中并没大事务回放。主库的参数。

2024-04-12 11:05:37 295

原创 5.7打补丁—编译和官方一致的Linux_Generic包

如何在glibc 2.12环境(CentOS 6.x)下编译MySQL 5.7

2024-04-09 10:17:03 341

原创 不同于Oracle:SEQUENCE的区别

SEQUENCE功能GreatSQL的使用与Oracle大体相似,然而,在START WITH的边界限制上,两者却有所出入,一起来看看

2024-04-08 09:58:37 995

原创 MySQL的多层SP中Cursor的m_max_cursor_index相关BUG分析

在MySQL的sp里面使用cursor的话,因为只用于统计,不用于实际赋值和计算过程,因此不影响使用。但是如果要用这个值用于二次开发,就要注意到这个问题。上面的修改方案只是其中一个解决方案,也可以根据自己的需要去改add_cursor的的赋值过程。

2024-04-03 10:05:52 282

原创 GreatSQL 优化技巧:将 MINUS 改写为标量子查询

minus 指令运用在两个 SQL 语句上,取两个语句查询结果集的差集。它先找出第一个 SQL 所产生的结果,然后看这些结果有没有在第二个 SQL 的结果中,如果在,那这些数据就被去除,不会在最后的结果中出现,第二个 SQL 结果集比第一个SQL结果集多的数据也会被抛弃。这两天的优化工作中遇到这样一种案例,第一个SQL语句结果集很小,第二个SQL语句结果集很大,这种情况下我们怎么来优化处理呢?

2024-04-01 09:53:18 813

原创 探究网络延迟对事务的影响

最近在做数据同步测试,需要通过DTS将kafka中的数据同步到数据库中,4G的数据量同步到数据库用了大约4个多小时,这看起来并不合理;此时查看数据库所在主机的CPU,IO的使用率都不高,没有瓶颈;最后通过排查发现由于kafka,DTS,数据库不再同一个机房,网络延迟较大,导致同步速率缓慢;将kafka,DTS,数据库部署到同一个机房后,同步速度明显提升,只需要15分钟就能同步完。

2024-03-27 09:26:58 457

原创 工具分享丨分析GreatSQL Binglog神器

本文分享的神器的名字就叫做,出自陈臣老师的手笔,也是开源的Python脚本文件,开源地址。

2024-03-25 10:31:40 669

原创 源码解析丨一次慢SQL排查

当时(表info的id为主键),出现下面的慢日志,可能会让你吃惊。

2024-03-22 09:48:13 687

原创 故障解析丨一次死锁问题的解决

其核心是获取待插入记录的下一个值(这里刚好是10),并获取该记录上的所有锁,与需要添加的锁判断是否存在冲突。该GTID的事务信息,可恢复T2,但T1执行的语句由于被回滚了,则不会记录到binlog,可开启general log日志获取排查。事务T1尝试获取uk_name中记录11的lock s, next key lock,由于T2持有了记录的独占锁,因此被T1堵塞。T1持有了记录11的LOCK_S锁与T2的LOCK_X、LOCK_INSERT_INTENTION不兼容,因此T2被T1堵塞。

2024-03-18 09:50:48 802

原创 NOT IN子查询中出现NULL值对结果的影响你注意到了吗

开发人员写的SQL语句中经常会用到in,exists,not in,not exists 这类子查询,通常,含in、exists的子查询称为半连接(semijoin),含not in、 not exists的子查询被称之为反连接,经常会有技术人员来评论in 与exists 效率孰高孰低的问题,我在SQL优化工作中也经常对这类子查询做优化改写,比如半连接改为内连接,反连接改为外连接等,哪个效率高是要根据执行计划做出判断的,本文不是为了讨论效率问题,是要提醒一点:not in子查询的结果集含NULL值时,会导致

2024-03-15 10:29:33 944

原创 编译GreatSQL with RocksDB引擎

RocksDB 是基于Facebook 开源的一种支持事务的、高度可压缩、高性能的MyRocks存储引擎,特别适用于高度压缩和大容量的数据。

2024-03-13 10:58:26 604

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

某业务系统将MySQL 8.0.26升级为GreatSQL 8.0.32-24 后,某些特定的SQL语句不能查询到数据。经测试 MySQL 8.0.32也存在相同的问题此BUG已在 GreatSQL 8.0.32-25 版本中解决MySQL 8.0.26版本升级32版本查询数据为空的跟踪接到客户反馈的问题后,对问题进行了复现和分析。

2024-03-11 09:55:25 267

原创 INSERT...SELECT语句对查询的表加锁吗

这条语句会对查询表 t1 加锁吗?不要轻易下结论。对GreatSQL的锁进行研究之前,首先要确认一下事务的隔离级别,不同的事务隔离级别,锁的表现是不一样的。

2024-03-06 09:58:25 450

原创 GreatSQL TPC-H 性能测试报告正式发布!

本次测试针对GreatSQL数据库基于标准 TPC-H 场景的测试。TPC-H(商业智能计算测试)是美国交易处理效能委员会(TPC,TransactionProcessing Performance Council)组织制定的用来模拟决策支持类应用的一个测试集。目前,学术界和工业界普遍采用 TPC-H 来评价决策支持技术方面应用的性能。

2024-02-28 09:42:21 704

原创 Slave被误写入数据如何恢复到主库

在GreatSQL主从复制环境中,有时候可能会出现一些误操作,将本应该写入到主库的数据写入到了从库,导致主从数据不一致,影响数据同步。是否可以将写入从库的数据同步写入主库呢?可以看到写入的从库写入的数据在 binlog.000002,我们可以通过 grep 从库的 server id 确定日志文件中有没有在从库写入的数据。可以看到主库在应用从库产生的二进制日志时,从库没有重复应用这些二进制日志。主库应用从库二进制日志时,从库二进制日志信息未发生变化。后续测试,主库写入数据可正常同步到从库。

2024-02-26 10:03:12 340

原创 AP引擎助力加速生产SQL运行

从GreatSQL 8.0.32-25版本开始,新增Rapid存储引擎,该引擎使得GreatSQL能满足联机分析(OLAP)查询请求。Rapid引擎采用插件(Plugin)方式嵌入GreatSQL中,可以在线动态安装或卸载。Rapid引擎不会直接面对客户端和应用程序,用户无需修改原有的数据访问方式。它是一个无共享、内存化、混合列式存储的查询处理引擎,其设计目的是为了高性能的处理分析型查询。并且在TPC-H性能表现优异在32C64G测试机环境下,TPC-H 100G测试中22条SQL总耗时。

2024-02-23 09:55:18 943

原创 GreatSQL荣获2023 InfoQ“技术生态构建奖” 助力行业变革之路

1 月 31 日,InfoQ 极客传媒合作伙伴年度盛典在北京举办,围绕“有被 Q 到”主题精彩展开。GreatSQL受邀参会,与诸多IT行业伙伴相聚一堂,共筑开发者生态,共话技术前沿与商业创新。会议期间,InfoQ 为全国技术行业做出突出贡献的企业和项目进行了颁奖。GreatSQL 开源数据库社区凭借在开源领域的贡献度、活跃度及技术生态建设能力,荣获“技术生态构建奖”。该奖项致力于表彰投身技术社区生态建设、持续为开发者提供有价值的内容和活动、为行业搭建交流桥梁、为开发者铺设成长道路的组织或企业。

2024-02-02 09:35:45 281

原创 MySQL Shell 8.0.32 for GreatSQL编译二进制包

之前已经写过一篇前传MySQL Shell 8.0.32 for GreatSQL编译安装,最近再次编译MySQL Shell二进制包时,发现了一些新问题,因此重新整理更新本文档。

2024-01-31 14:11:16 966

原创 GreatSQL 2023 年报

不知不觉 2023 年已经是过去式了,本文将从产品迭代、丰收收获、生态合作、社区活动 4 个方面带大家了解 GreatSQL 社区的 2023。

2024-01-26 10:37:51 49

原创 在CentOS环境下编译GreatSQL RPM包

本文介绍如何在CentOS环境下编译GreatSQL RPM包。

2024-01-10 13:50:57 996

原创 GreatSQL喊你来考证啦~

GreatSQL社区开放GCA与GCP双等级认证课程,课程全面覆盖GreatSQL的安装、使用、优化、安全高可用等方面,包含构建主从和MGR架构,优化提升性能,安全增强配置,SQL兼容性改造,备份恢复和高可用架构搭建等实用内容,且认证免费。

2024-01-09 10:21:28 868

原创 GreatSQL社区2023全年技术文章总结

GreatSQL社区自成立以来一直致力于为广大的数据库爱好者提供一个交流与学习的平台。在2023年,我们见证了社区的蓬勃发展,见证了众多技术文章的诞生与分享。此篇总结呈现GreatSQL社区2023年社区技术文章在CSDN发布的全部。这些文章涵盖了GreatSQL、MGR、源码解析、故障解析、SQL优化、安装部署、等众多数据库技术文章。

2024-01-04 10:56:31 1014

原创 Mycat分库分表实时同步到GreatSQL

GreatSQL是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。在3309实例中,查询replica_skip_errors,确认复制异常跳过的错误码,设置为ddl_exist_errors会自动转换为如下错误码。为了解决上面两个问题,经过查询资料,发现有两个不常用,官方也不建议使用的功能,刚好能够满足需求。

2024-01-04 09:45:04 830

原创 GreatSQL 8.0.32-25新版本有奖体验!

2023.12.28——2024.1.15 期间,参与 GreatSQL 8.0.32-25 新版本体验测试活动,只要发现并提交有效错误或 bug、或文档手册问题,即可获得社区周边、社区金币奖励!GreatSQL 期待您的参与~

2023-12-29 09:38:17 395

原创 官答|初始化GreatSQL报错无法找到数据目录或初始化数据字典失败

GreatSQL是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。通过这些安装方式,GreatSQL可以应对各种复杂的生产环境,无论是传统的物理机部署,还是新的虚拟化和容器化部署,手册都能助您快速上手,节省宝贵时间。经过仔细的排查验证,确认这些配置都是正确的,数据目录存在并且具有可访问权限,my.cnf中的参数也没有错误。

2023-12-27 09:42:28 359

原创 关于GreatSQL字符集的总结

最近的SQL优化工作中经常遇到因字符集或校验规则不一致导致索引使用不了的问题,修改表的字符集或校验规则相当于把表重构,表中数据量大时,处理起来费时费力,希望应用开发者在设计之初时注意到此问题,让后期接手运维的小伙伴少一些负担。GreatSQL的字符集和校验规则种类繁多,提供灵活性的同时,也带来使用混乱的烦恼。本文对字符集做一个总结,让读者对GreatSQL的字符集有一个全面的了解。

2023-12-20 09:53:29 943

原创 故障解析丨导入字符串NULL导致主从报错

目前需要搭建一个从库,由于单表数据量较大,时间比较有限,考虑到导入导出的时间,并且GreatSQL支持并行load data的功能,能够加速数据的导入,因此决定使用 select into outfile 和 load data 的方式进行数据的迁移;在数据导入完成后进行数据同步,从库发生报错 1032 找不到记录,但是登录从库中可以查询到此条记录,这里就很奇怪;

2023-12-13 09:37:07 82

空空如也

空空如也

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

TA关注的人

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