会员
T恤
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
SlowTech
生活本应就是慢的
博客园
首页
新随笔
联系
管理
订阅
[置顶]
MySQL 主从延迟的常见原因及解决方法
摘要: 承蒙大家的支持,刚上市的《MySQL实战》已经跃居京东自营数据库图书热卖榜第 1 名,收到的反馈也普遍不错。对该书感兴趣的童鞋可通过右边的链接购买。目前,京东自营有活动,只需 5 折。 主从延迟作为 MySQL 的痛点已经存在很多年了,以至于大家都有一种错觉:有 MySQL 复制的地方就有主从延迟。
阅读全文
posted @ 2023-04-19 09:12 iVictor
阅读(4041)
评论(2)
推荐(7)
[置顶]
来,看看MySQL 5.6, 5.7, 8.0的新特性
摘要: 对于MySQL的历史,相信很多人早已耳熟能详,这里就不要赘述。下面仅从产品特性的角度梳理其发展过程中的里程碑事件。 1995年,MySQL 1.0发布,仅供内部使用。 1996年,MySQL 3.11.1发布,直接跳过了MySQL 2.x版本。 1999年,MySQL AB公司成立。同年,发布MyS
阅读全文
posted @ 2018-10-18 08:54 iVictor
阅读(33686)
评论(11)
推荐(20)
[置顶]
MySQL高可用方案MHA的部署和原理
摘要: MHA(Master High Availability)是一套相对成熟的MySQL高可用方案,能做到在0~30s内自动完成数据库的故障切换操作,在master服务器不宕机的情况下,基本能保证数据的一致性。 它由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。其中,MH
阅读全文
posted @ 2017-05-21 21:37 iVictor
阅读(13547)
评论(6)
推荐(3)
[置顶]
mysqldump的实现原理
摘要: 对于MySQL的备份,可分为以下两种: 1. 冷备 2. 热备 其中,冷备,顾名思义,就是将数据库关掉,利用操作系统命令拷贝数据库相关文件。而热备指的是在线热备,即在不关闭数据库的情况下,对数据库进行备份。实际生产中基本上都是后者。 关于热备,也可分为两种方式: 1. 逻辑备份 2. 物理备份 对于
阅读全文
posted @ 2016-05-19 11:08 iVictor
阅读(18726)
评论(5)
推荐(5)
2025年4月14日
基于源码分析 HikariCP 常见参数的具体含义
摘要: 本文从源码角度对 HikariCP 中的一些常见参数进行分析,希望能帮助大家更加清晰地理解这些参数的具体含义。
阅读全文
posted @ 2025-04-14 10:08 iVictor
阅读(167)
评论(0)
推荐(1)
2025年3月31日
如何定位 Druid & HikariCP 连接池的连接泄漏问题?
摘要: 在数据库连接池的使用中,连接泄漏是一个常见且严重的问题。本文通过分析一个实际的案例,探讨了连接泄漏的危害、产生原因以及如何在 Druid 和 HikariCP 这两种常见的连接池中定位和解决连接泄漏问题。
阅读全文
posted @ 2025-03-31 09:25 iVictor
阅读(398)
评论(0)
推荐(1)
2025年3月17日
深入解析 Druid 连接池:连接有效性检测与 Keep-Alive 机制
摘要: 应用出现“Communications link failure The last packet successfully received from the server was xxx milliseconds ago.”错误,你的 Druid 连接池配置对了吗?
阅读全文
posted @ 2025-03-17 10:58 iVictor
阅读(597)
评论(0)
推荐(1)
2025年2月24日
Redis 大 Key 分析利器:支持 TOP N、批量分析与从节点优先
摘要: 推荐一个比 redis-cli 更强大的 Redis 大 Key 分析工具
阅读全文
posted @ 2025-02-24 07:29 iVictor
阅读(472)
评论(0)
推荐(0)
2025年1月6日
基于源码分析 SHOW GLOBAL STATUS 的实现原理
摘要: 问题 在 MySQL 中,查询全局状态变量的方式一般有两种:SHOW GLOBAL STATUS和performance_schema.global_status。 但不知道大家注意到没有,performance_schema.global_status 返回的状态变量数要远远少于 SHOW GLO
阅读全文
posted @ 2025-01-06 08:08 iVictor
阅读(125)
评论(0)
推荐(2)
2024年12月23日
MySQL 优化利器 SHOW PROFILE 的实现原理
摘要: 通过可传输表空间的方式导入一个 4GB 大小的表,为什么大部分耗时是在System lock阶段?
阅读全文
posted @ 2024-12-23 08:45 iVictor
阅读(1276)
评论(1)
推荐(3)
2024年10月28日
基于案例分析 MySQL 权限认证中的具体优先原则
摘要: 在 MySQL 的日常管理过程中,大家或多或少会遇到权限认证相关的问题。 例如,本来能够正常执行的操作,可能在新增一个账号或授权后就突然失败了。 这种现象往往让人误以为是 bug,但很多时候,其实并不是。 下面,将通过两个案例来阐明 MySQL 权限认证中的具体优先原则,并在此基础上,分析以下问题:
阅读全文
posted @ 2024-10-28 10:54 iVictor
阅读(287)
评论(2)
推荐(0)
2024年9月23日
Redis 内存突增时,如何定量分析其内存使用情况
摘要: 背景 最近碰到一个 case,一个 Redis 实例的内存突增,used_memory最大时达到了 78.9G,而该实例的maxmemory配置却只有 16G,最终导致实例中的数据被大量驱逐。 以下是问题发生时INFO MEMORY的部分输出内容。 # Memoryused_memory:84716
阅读全文
posted @ 2024-09-23 08:55 iVictor
阅读(1808)
评论(2)
推荐(8)
2024年7月22日
如何让 MGR 不从 Primary 节点克隆数据?
摘要: 问题 MGR 中,新节点在加入时,为了与组内其它节点的数据保持一致,它会首先经历一个分布式恢复阶段。在这个阶段,新节点会随机选择组内一个节点(Donor)来同步差异数据。 在 MySQL 8.0.17 之前,同步的方式只有一种,即基于 Binlog 的异步复制,这种方式适用于差异数据较少或需要的 B
阅读全文
posted @ 2024-07-22 07:53 iVictor
阅读(170)
评论(0)
推荐(1)
2024年7月1日
升级到 MySQL 8.4,MySQL 启动报错:io_setup() failed with EAGAIN
摘要: 问题 最近碰到一个 case,一台主机上,部署了多个实例。之前使用的是 MySQL 8.0,启动时没有任何问题。但升级到 MySQL 8.4 后,部分实例在启动时出现了以下错误。 [Warning] [MY-012582] [InnoDB] io_setup() failed with EAGAIN
阅读全文
posted @ 2024-07-01 14:18 iVictor
阅读(691)
评论(0)
推荐(4)
2024年6月17日
SHOW PROCESSLIST 最多能显示多长的 SQL?
摘要: 在 MySQL 中,如果我们想查看实例当前正在执行的 SQL,常用的命令是SHOW PROCESSLIST。 但如果 SQL 过长的话,就会被截断。这时,我们一般会用SHOW FULL PROCESSLIST来查看完整的 SQL。 最近碰到一个 case,发现无论是使用 SHOW PROCESSLI
阅读全文
posted @ 2024-06-17 11:00 iVictor
阅读(373)
评论(0)
推荐(1)
2024年3月4日
没想到,JDBC 驱动会偷偷修改 sql_mode 的会话值
摘要: 同一个SQL,在mysql客户端中可以执行,但在java程序中却报错
阅读全文
posted @ 2024-03-04 09:13 iVictor
阅读(955)
评论(4)
推荐(5)
2024年1月8日
从源码分析 MySQL 身份验证插件的实现细节
摘要: 最近在分析ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)这个报错的常见原因。 在分析的过程中,不可避免会涉及到 MySQL 身份验证的一些实现细节。 加之之前对这一块就有很多疑问,
阅读全文
posted @ 2024-01-08 20:24 iVictor
阅读(1419)
评论(2)
推荐(4)
2023年12月26日
什么是 MySQL JDBC 连接池中最高效的连接检测语句?
摘要: 在回答这个问题之前,首先我们看看 MySQL 中有哪些常用的 JDBC 连接池: c3p0 DBCP Druid Tomcat JDBC Pool HikariCP 这些连接池中,c3p0 是一个老牌的连接池,很多流行框架,在其老版本中,都将 c3p0 作为默认的连接池。 DBCP 和 Tomcat
阅读全文
posted @ 2023-12-26 10:57 iVictor
阅读(1369)
评论(0)
推荐(3)
2023年12月12日
如何将 performance_schema 中的 TIMER 字段转换为日期时间
摘要: 问题 最近有好几个朋友问,如何将 performance_schema.events_statements_xxx 中的 TIMER 字段(主要是TIMER_START和TIMER_END)转换为日期时间。 因为 TIMER 字段的单位是皮秒(picosecond),所以很多童鞋会尝试直接转换,但转
阅读全文
posted @ 2023-12-12 14:50 iVictor
阅读(285)
评论(0)
推荐(1)
下一页
公告