
MySQL
文章平均质量分 64
MySQL数据库
猿小喵
一线DBA苦力,运维的数据库包括了MySQL、Oracle、TDSQL、TIDB、redis等,日常工作包括了搭建资源池、建实例建库、数据备份恢复、ADG搭建、主从搭建、RAC搭建、sql性能分析优化、数据库性能分析、数据库故障处理分析等,欢迎大家一起交流。
展开
-
记录一次TDSQL事务太大拆过binlog阈值报错
3、登陆赤兔实例参数管理部分,查看binlog_write_threshold参数值,结合报错内容,确认问题为导入SQL文件的时候单次文件过大,且代码不支持切分导致,临时无法切割事务,为了让批量继续下去,临时调高binlog_write_threshold参数值。1、排查任何类型数据库故障的第一步, 同步实例信息、报错内容、报错时间段、当前是否恢复、如何感知到数据库问题的、对应用有什么影响、系统允许的时间窗口。4、根据开发规范,为了避免大事务,对该参数有控制。原创 2025-03-28 22:28:33 · 254 阅读 · 0 评论 -
记录一次交易耗时有毛刺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 · 287 阅读 · 0 评论 -
MySQL数据库中常用的命令
/设置用户密码永不过期。原创 2025-03-25 23:09:44 · 239 阅读 · 0 评论 -
MySQL数据库运行中 CPU 具体做的事情
• 指令解码与执行:CPU 对数据进行排序,涉及复杂的算法实现,如快速排序、归并排序等。• 指令解码与执行:CPU 重组索引结构,涉及复杂的树结构操作,如 B+树的分裂和合并。• 指令解码与执行:CPU 根据解析树生成初步的执行计划,涉及复杂的逻辑运算和决策。• 指令解码与执行:CPU 扫描索引结构,涉及复杂的树结构操作,如 B+树的遍历。• 指令解码与执行:CPU 更新索引,涉及复杂的树结构操作,如 B+树的插入。• 指令解码与执行:CPU 更新索引,涉及复杂的树结构操作,如 B+树的修改。原创 2025-03-24 19:53:28 · 680 阅读 · 0 评论 -
记录一次truncate导致MySQL夯住的故障
语句,而不是普通的。原创 2025-03-22 20:31:16 · 789 阅读 · 0 评论 -
一条SQL在mysql数据库中经历的过程
select、delete、update、insert语句在MySQL数据库中的执行过程又有什么区别呢?如果SQL带有过滤条件、分组语句、排序语句、join语句,那SQL的执行过程又有何不同呢?原创 2025-03-18 23:05:38 · 395 阅读 · 0 评论 -
MySQL数据库常用SQL运维
/将排序方式调整为大小写不敏感的utf8mb4_general_ci。原创 2025-03-15 20:57:24 · 341 阅读 · 0 评论 -
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 · 282 阅读 · 0 评论 -
数据库查问题常用OS命令汇总
数据库查问题常用OS命令汇总原创 2025-03-10 21:44:39 · 269 阅读 · 0 评论 -
MySQL慢查询分析与处理
慢日志是MySQL用来记录数据库中执行较慢的SQL语句的日志,当数据库遇到性能问题时,慢日志可以帮助我们分析数据库中执行较慢的SQL。原创 2025-02-28 23:37:07 · 371 阅读 · 0 评论 -
MySQL表空间管理
表空间是数据库用来管理数据库中的表、索引、列等数据对象的一个逻辑意义上的容器,与表空间在物理层对应的是一个一个的具体的数据文件。管理员直接在逻辑上操作一个一个表或者索引等对象,具体的数据文件的调整则由数据库的存储引擎层来完成。原创 2025-02-27 22:47:55 · 284 阅读 · 0 评论 -
MySQL数据库连接池解决方案-Druid
Druid的使用也较为简单,引入依赖、配置参数、启动之后就可以使用了,本文主要围绕Druid的参数配置对于数据库的影响来说。现在有这么一个场景,应用配置了Druid连接池,连接池最小连接参数是10,当前连接池中已经有15个连接,并且有2个空闲连接,使用VIP连接到f5负载均衡设备,负载均衡设备为主备模式,负载均衡设备把连接分发到MySQL数据库集群上的主节点,在某一时刻,应用正常连接数据库的情况下,f5突然发生主备切换,这个时候Druid连接池中已有的连接会受到什么影响,应用多久可以恢复正常。原创 2025-02-22 00:42:37 · 437 阅读 · 0 评论 -
MySQL登录问题总结
MySQL登录问题总结原创 2025-02-19 20:57:57 · 1173 阅读 · 0 评论 -
MySQL数据迁移工具
数据迁移是mysql数据库运维管理的一个重要工作之一,mysql数据库常用的迁移工具如下。原创 2025-02-18 23:18:06 · 511 阅读 · 0 评论 -
MySQL双写机制
innodb引擎崩溃恢复时,redo log会在当前的物理数据文件基础上恢复数据,由于redo log是记录数据页的物理变化,恢复起来会比记录逻辑变化的binlog快很多,redo log将数据页恢复到buffer区后,会根据两阶段提交策略去判断哪些事务要进行回滚,哪些事务可以直接提交,需要回滚的事务就会把buffer中的数据页数据修改为事务执行前的状态。如果校验到数据文件中的数据页不完整,则会利用双写区中的副本修复数据文件的数据页。原创 2025-02-12 21:36:17 · 471 阅读 · 0 评论 -
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 · 319 阅读 · 0 评论 -
MySQL四种隔离级别
隔离级别是为了实现事务的隔离性而定义的,不同隔离级设置了事务不同的可见性,也就是一个正在执行的事务会在哪些阶段被其他事务识别,可见性影响到了其他事务的结果,不同的可见性会产生不同的影响。3、可重复读,A事务执行过程中查询到的结果不会因为B事务的执行而不同,A事务执行前后的数据都不受B事务的影响。2、读已提交,A事务中只能等B事务提交后才能查到B事务执行的结果,A事务执行过程中读取到的结果可能会因为B事务提交而产生不同,产生不可重复读和幻读。A事务执行过程中,数据的状态不受B事务的影响。原创 2025-01-22 23:29:41 · 391 阅读 · 0 评论 -
MySQL数据库批量插入包含uuid的数据
MySQL数据库批量插入包含uuid的数据原创 2025-01-23 23:10:48 · 290 阅读 · 0 评论 -
redo和binlog区别
本文从宏观上讨论了binlog和redo log的不同原创 2025-02-10 23:58:23 · 312 阅读 · 0 评论