摘要: 承蒙大家的支持,刚上市的《MySQL实战》已经跃居京东自营数据库图书热卖榜第 1 名,收到的反馈也普遍不错。对该书感兴趣的童鞋可通过右边的链接购买。目前,京东自营有活动,只需 5 折。 主从延迟作为 MySQL 的痛点已经存在很多年了,以至于大家都有一种错觉:有 MySQL 复制的地方就有主从延迟。 阅读全文
posted @ 2023-04-19 09:12 iVictor 阅读(4834) 评论(2) 推荐(7)
摘要: 对于MySQL的历史,相信很多人早已耳熟能详,这里就不要赘述。下面仅从产品特性的角度梳理其发展过程中的里程碑事件。 1995年,MySQL 1.0发布,仅供内部使用。 1996年,MySQL 3.11.1发布,直接跳过了MySQL 2.x版本。 1999年,MySQL AB公司成立。同年,发布MyS 阅读全文
posted @ 2018-10-18 08:54 iVictor 阅读(33938) 评论(11) 推荐(20)
摘要: MHA(Master High Availability)是一套相对成熟的MySQL高可用方案,能做到在0~30s内自动完成数据库的故障切换操作,在master服务器不宕机的情况下,基本能保证数据的一致性。 它由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。其中,MH 阅读全文
posted @ 2017-05-21 21:37 iVictor 阅读(13818) 评论(6) 推荐(3)
摘要: 对于MySQL的备份,可分为以下两种: 1. 冷备 2. 热备 其中,冷备,顾名思义,就是将数据库关掉,利用操作系统命令拷贝数据库相关文件。而热备指的是在线热备,即在不关闭数据库的情况下,对数据库进行备份。实际生产中基本上都是后者。 关于热备,也可分为两种方式: 1. 逻辑备份 2. 物理备份 对于 阅读全文
posted @ 2016-05-19 11:08 iVictor 阅读(18886) 评论(5) 推荐(5)
摘要: 现象 最近遇到一个有趣的案例:在一个新创建的 MySQL 8.4 实例中,使用用户 u2 登录时,返回了Plugin 'mysql_native_password' is not loaded错误。 $ mysql -h127.0.0.1 -P3316 -uu2 -p123mysql: [Warni 阅读全文
posted @ 2025-11-24 08:52 iVictor 阅读(359) 评论(1) 推荐(0)
摘要: 同一个 binlog,没想到多线程重放竟比单线程慢了四倍多! 阅读全文
posted @ 2025-10-20 12:10 iVictor 阅读(342) 评论(0) 推荐(0)
摘要: Connection Control 是 MySQL 8.0 引入的一个安全功能插件,后移植到 MySQL 5.7.17 和 5.6.35 版本。 其核心功能是:当客户端因账号或密码错误连续多次登录失败时,服务端会对该客户端的后续请求进行延迟处理,且失败次数越多,延迟时间越长。这一机制能显著增加密码 阅读全文
posted @ 2025-08-18 09:22 iVictor 阅读(390) 评论(0) 推荐(0)
摘要: 去年写的一个小工具,用于在线获取 MySQL binlog 的大小、开始时间、结束时间和持续时长。 什么场景下会用上这个工具呢? 云服务场景,无法登录 MySQL 服务器查看 binlog 的时间戳信息。 主从延迟时,可以使用这个工具来查看 binlog 的大小或者某个时间段 binlog 的写入量 阅读全文
posted @ 2025-07-28 08:21 iVictor 阅读(1028) 评论(0) 推荐(3)
摘要: Java 应用报错 Public Key Retrieval is not allowed,原来是 caching_sha2_password 插件惹的祸! 阅读全文
posted @ 2025-05-12 09:45 iVictor 阅读(1090) 评论(2) 推荐(1)
摘要: 本文从源码角度对 HikariCP 中的一些常见参数进行分析,希望能帮助大家更加清晰地理解这些参数的具体含义。 阅读全文
posted @ 2025-04-14 10:08 iVictor 阅读(781) 评论(0) 推荐(1)
摘要: 在数据库连接池的使用中,连接泄漏是一个常见且严重的问题。本文通过分析一个实际的案例,探讨了连接泄漏的危害、产生原因以及如何在 Druid 和 HikariCP 这两种常见的连接池中定位和解决连接泄漏问题。 阅读全文
posted @ 2025-03-31 09:25 iVictor 阅读(1445) 评论(0) 推荐(1)
摘要: 应用出现“Communications link failure The last packet successfully received from the server was xxx milliseconds ago.”错误,你的 Druid 连接池配置对了吗? 阅读全文
posted @ 2025-03-17 10:58 iVictor 阅读(2089) 评论(0) 推荐(1)
摘要: 推荐一个比 redis-cli 更强大的 Redis 大 Key 分析工具 阅读全文
posted @ 2025-02-24 07:29 iVictor 阅读(1282) 评论(0) 推荐(0)
摘要: 问题 在 MySQL 中,查询全局状态变量的方式一般有两种:SHOW GLOBAL STATUS和performance_schema.global_status。 但不知道大家注意到没有,performance_schema.global_status 返回的状态变量数要远远少于 SHOW GLO 阅读全文
posted @ 2025-01-06 08:08 iVictor 阅读(482) 评论(0) 推荐(2)
摘要: 通过可传输表空间的方式导入一个 4GB 大小的表,为什么大部分耗时是在System lock阶段? 阅读全文
posted @ 2024-12-23 08:45 iVictor 阅读(1623) 评论(1) 推荐(3)
摘要: 在 MySQL 的日常管理过程中,大家或多或少会遇到权限认证相关的问题。 例如,本来能够正常执行的操作,可能在新增一个账号或授权后就突然失败了。 这种现象往往让人误以为是 bug,但很多时候,其实并不是。 下面,将通过两个案例来阐明 MySQL 权限认证中的具体优先原则,并在此基础上,分析以下问题: 阅读全文
posted @ 2024-10-28 10:54 iVictor 阅读(608) 评论(2) 推荐(0)
摘要: 背景 最近碰到一个 case,一个 Redis 实例的内存突增,used_memory最大时达到了 78.9G,而该实例的maxmemory配置却只有 16G,最终导致实例中的数据被大量驱逐。 以下是问题发生时INFO MEMORY的部分输出内容。 # Memoryused_memory:84716 阅读全文
posted @ 2024-09-23 08:55 iVictor 阅读(2420) 评论(2) 推荐(8)
摘要: 问题 MGR 中,新节点在加入时,为了与组内其它节点的数据保持一致,它会首先经历一个分布式恢复阶段。在这个阶段,新节点会随机选择组内一个节点(Donor)来同步差异数据。 在 MySQL 8.0.17 之前,同步的方式只有一种,即基于 Binlog 的异步复制,这种方式适用于差异数据较少或需要的 B 阅读全文
posted @ 2024-07-22 07:53 iVictor 阅读(474) 评论(0) 推荐(1)
摘要: 问题 最近碰到一个 case,一台主机上,部署了多个实例。之前使用的是 MySQL 8.0,启动时没有任何问题。但升级到 MySQL 8.4 后,部分实例在启动时出现了以下错误。 [Warning] [MY-012582] [InnoDB] io_setup() failed with EAGAIN 阅读全文
posted @ 2024-07-01 14:18 iVictor 阅读(1182) 评论(0) 推荐(4)