- 博客(66)
- 收藏
- 关注
原创 记录一次TDSQL事务太大拆过binlog阈值报错
3、登陆赤兔实例参数管理部分,查看binlog_write_threshold参数值,结合报错内容,确认问题为导入SQL文件的时候单次文件过大,且代码不支持切分导致,临时无法切割事务,为了让批量继续下去,临时调高binlog_write_threshold参数值。1、排查任何类型数据库故障的第一步, 同步实例信息、报错内容、报错时间段、当前是否恢复、如何感知到数据库问题的、对应用有什么影响、系统允许的时间窗口。4、根据开发规范,为了避免大事务,对该参数有控制。
2025-03-28 22:28:33
233
原创 记录一次交易耗时有毛刺TDSQL数据库排查过程
cat sql_instance_xxx | grep -i ‘table_name’ | grep -i ‘查询关键字’| awk -F’&timecost=’ ‘{print $NF,$0}’ |sort -nr -k 1| head -n 10。1、登陆赤兔,打开实例监控信息,检查CPU、内存、IO、缓冲命中率、proxy汇总请求量耗时情况,初步判断实例问题。//sql日志记录proxy把请求发给db,再到proxy接收到db返回请求的时间。3、登陆db节点,查看日志IO情况。
2025-03-28 21:18:18
269
原创 MySQL数据库运行中 CPU 具体做的事情
• 指令解码与执行:CPU 对数据进行排序,涉及复杂的算法实现,如快速排序、归并排序等。• 指令解码与执行:CPU 重组索引结构,涉及复杂的树结构操作,如 B+树的分裂和合并。• 指令解码与执行:CPU 根据解析树生成初步的执行计划,涉及复杂的逻辑运算和决策。• 指令解码与执行:CPU 扫描索引结构,涉及复杂的树结构操作,如 B+树的遍历。• 指令解码与执行:CPU 更新索引,涉及复杂的树结构操作,如 B+树的插入。• 指令解码与执行:CPU 更新索引,涉及复杂的树结构操作,如 B+树的修改。
2025-03-24 19:53:28
674
原创 服务器相关的硬件知识
网卡的接口分为电口(如RJ45接口,用于连接网线)和光口(用于连接光模块和光纤)。带宽通常以bps(位/秒)为单位,常见的带宽单位还有Mbps(兆位/秒)和Gbps(吉位/秒)。光模块按封装形式可分为SFP、SFP+、QSFP+等类型,按传输距离和速率可分为多模光模块(用于短距离传输)和单模光模块(用于长距离传输)光纤线分为单模光纤(用于长距离传输)和多模光纤(用于短距离传输)。网络的带宽和网速的速率计算方式是基于数据传输速率的概念,通常以每秒传输的位数(bits per second,bps)来衡量。
2025-03-20 20:23:47
446
原创 一条SQL在mysql数据库中经历的过程
select、delete、update、insert语句在MySQL数据库中的执行过程又有什么区别呢?如果SQL带有过滤条件、分组语句、排序语句、join语句,那SQL的执行过程又有何不同呢?
2025-03-18 23:05:38
387
原创 MySQL异常SQL排查
opt/MegaRAID/storcli/storcli64 /c0 /show all //查看raid方案和盘,评估io读写瓶颈。明确数据库异常SQL执行时间段,正常情况下耗时,当前耗时,如何感知到数据库慢的,是哪种类型的SQL,近期有做过相关的变更吗。查看异常SQL执行状况。sar -d /var/log/sa/sar日期。iostat //查看延迟、读、写流量。检查数据库服务器cpu和内存使用率。检查数据库服务器的io。
2025-03-13 20:55:42
270
原创 MySQL主从延迟分析
2、从库和主库时间不一致,如果主库的时间比从库的早,假设主库发给从库的最后一个binlog时间戳是9:00,从库应用完最新的relay log打上的时间戳是7:00,从库就会计算出和主库存在2个小时的延迟,但是实际上从库已经应用了从主库拉取过来最新的binlog,并不存在主从延迟。主从复制的过程:主库执行事务写入binlog,从库的io线程拉取到主库的binlog后,将主库的binlog转化为relay log,从库的sql线程重放relay log中记录的事务。
2025-03-09 00:57:17
325
原创 分布式数据库基本概念汇总
RTO与RPO是衡量一个系统高可用性的两个指标,这两个指标分别描述一个业务系统发生灾难(比如说机器故障、机房故障、城市灾难等)后恢复所需要的时间和丢失的数据量,为了保证业务的连续性以及灾难发生后造成的影响最小,这两个指标当然是越小越好。假设是在3月3日凌晨2:00发生故障,5:00系统恢复对外服务,系统数据恢复到了1:00,5:00-2:00=3h RTO=3小时,2:00-1:00=1小时,RPO=1小时。关注的是业务系统从故障发生到业务系统服务恢复的时间。
2025-03-03 21:34:06
150
原创 MySQL慢查询分析与处理
慢日志是MySQL用来记录数据库中执行较慢的SQL语句的日志,当数据库遇到性能问题时,慢日志可以帮助我们分析数据库中执行较慢的SQL。
2025-02-28 23:37:07
361
原创 MySQL表空间管理
表空间是数据库用来管理数据库中的表、索引、列等数据对象的一个逻辑意义上的容器,与表空间在物理层对应的是一个一个的具体的数据文件。管理员直接在逻辑上操作一个一个表或者索引等对象,具体的数据文件的调整则由数据库的存储引擎层来完成。
2025-02-27 22:47:55
278
原创 MySQL缓存命中率
MySQL 缓存命中率是衡量 MySQL 查询性能的一个重要指标,它表示缓存中的数据被查询请求成功返回的比例。较高的缓存命中率通常意味着较少的磁盘 I/O 操作,查询响应速度较快。MySQL 中有多个类型的缓存,如查询缓存InnoDB 缓冲池键缓存等,所有这些缓存都可能影响缓存命中率。
2025-02-24 22:34:27
376
原创 MySQL数据库连接池解决方案-Druid
Druid的使用也较为简单,引入依赖、配置参数、启动之后就可以使用了,本文主要围绕Druid的参数配置对于数据库的影响来说。现在有这么一个场景,应用配置了Druid连接池,连接池最小连接参数是10,当前连接池中已经有15个连接,并且有2个空闲连接,使用VIP连接到f5负载均衡设备,负载均衡设备为主备模式,负载均衡设备把连接分发到MySQL数据库集群上的主节点,在某一时刻,应用正常连接数据库的情况下,f5突然发生主备切换,这个时候Druid连接池中已有的连接会受到什么影响,应用多久可以恢复正常。
2025-02-22 00:42:37
416
原创 MySQL双写机制
innodb引擎崩溃恢复时,redo log会在当前的物理数据文件基础上恢复数据,由于redo log是记录数据页的物理变化,恢复起来会比记录逻辑变化的binlog快很多,redo log将数据页恢复到buffer区后,会根据两阶段提交策略去判断哪些事务要进行回滚,哪些事务可以直接提交,需要回滚的事务就会把buffer中的数据页数据修改为事务执行前的状态。如果校验到数据文件中的数据页不完整,则会利用双写区中的副本修复数据文件的数据页。
2025-02-12 21:36:17
446
原创 MySQL两阶段提交策略
两阶段提交指的是MySQL在提交事务将脏数据刷盘的过程分为prepare和commit两个阶段,当客户端commit命令开始执行后,MySQL内部开启一个XA(分布式事务)事务,并为该事务分配一个XID,先将redo log缓存中的数据刷新到日志,redo log刷盘后,redo log对该事务标记为prepare,磁盘的redo日志中也就存在该XID。接着,将binlog缓存中的数据刷盘,binlog刷盘完成后,磁盘的binlog中会存在该XID,会将该redo log上的事务标记为commit。
2025-02-12 00:01:45
309
原创 MySQL四种隔离级别
隔离级别是为了实现事务的隔离性而定义的,不同隔离级设置了事务不同的可见性,也就是一个正在执行的事务会在哪些阶段被其他事务识别,可见性影响到了其他事务的结果,不同的可见性会产生不同的影响。3、可重复读,A事务执行过程中查询到的结果不会因为B事务的执行而不同,A事务执行前后的数据都不受B事务的影响。2、读已提交,A事务中只能等B事务提交后才能查到B事务执行的结果,A事务执行过程中读取到的结果可能会因为B事务提交而产生不同,产生不可重复读和幻读。A事务执行过程中,数据的状态不受B事务的影响。
2025-01-22 23:29:41
380
原创 【DBA攻坚指南:左右Oracle,右手MySQL-学习总结】
从用户提交会话开始,LGWR进程将redo缓存中的信息写入redo日志文件后,LGWR进程通知用户写操作完成,到用户会话接受到LGWR进程通知为止,这整个过程就是可能出现log file sync等待事件的地方。在LGWR写入日志过程中,还包括了控制文件修改操作,对于RAC节点,可能还存在节点之间的scn同步、节点之间cr块的同步。
2024-11-13 23:26:54
1218
3
原创 力扣-94、144、145-前中后序遍历
二叉树的遍历总体上分为深度优先遍历和广度优先遍历。常见的前中后序三种遍历方式就属于深度优先遍历,遍历过程中是顺着一条路径一直遍历到空节点然后向上回溯继续顺着遍历上一个节点的其他方向。层序遍历属于广度优先遍历,先遍历完同一层的节点,再接着遍历下一层节点。本文主要介绍二叉树三种深度优先遍历方式的实现方式:递归方式和非递归方式。递归方式实现如下。
2023-08-01 20:39:47
477
原创 千里之行,始于足下
立足当下今日打卡任务已经完成,包括刷题和学习新知识。思考未来的职业规划,目前很多情况还不清楚,能做的唯有立足当下,做好每一件事情,万丈高楼平地起,从做好每一件小事开始。
2023-07-24 22:44:39
163
原创 微服务总结
这两天抽空学习了微服务的理论知识,主要是学习电子书《微服务架构基础》,是一本很基础的入门书籍,可以算是对微服务进行扫盲了,并且书中还附带了实际可运行的代码,很直观明了。今天就先只列内容的大纲,后面再慢慢介绍每一种具体的技术。
2023-07-21 22:59:25
68
原创 ChatGPT:基于GPT-3.5架构的强大语言模型
ChatGPT是一款基于GPT-3.5架构的大型语言模型,由OpenAI研发。它具备强大的自然语言处理能力,可以像人类一样进行对话,并根据对话内容进行智能回复。与传统的聊天机器人不同,ChatGPT的回答更加自然、流畅,可以模拟人类的对话风格。ChatGPT是一款具有强大自然语言处理能力的语言模型,基于GPT-3.5架构,可以像人类一样进行对话,并提供智能化的语言交互体验。它的应用前景广阔,可以被广泛应用于对话系统、文本生成、机器翻译等领域。
2023-04-05 15:15:35
7254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人