合集-MySQL实战

摘要:承蒙大家的支持,刚上市的《MySQL实战》已经跃居京东自营数据库图书热卖榜第 1 名,收到的反馈也普遍不错。对该书感兴趣的童鞋可通过右边的链接购买。目前,京东自营有活动,只需 5 折。 主从延迟作为 MySQL 的痛点已经存在很多年了,以至于大家都有一种错觉:有 MySQL 复制的地方就有主从延迟。 阅读全文
posted @ 2023-04-19 09:12 iVictor 阅读(3760) 评论(2) 推荐(7) 编辑
摘要:预告: 《MySQL实战》即将出版,敬请关注! 有过线上 MySQL 维护经验的童鞋都知道,主从延迟往往是一个让人头疼不已的问题。 不仅仅是其造成的潜在问题比较严重,而且主从延迟原因的定位尤其考量 DBA 的综合能力:既要熟悉复制的内部原理,又能解读主机层面的资源使用情况,甚至还要会分析 binlo 阅读全文
posted @ 2023-03-06 15:38 iVictor 阅读(1568) 评论(0) 推荐(2) 编辑
摘要:sysbench是一个开源的、基于LuaJIT(LuaJIT 是 Lua 的即时编译器,可将代码直接翻译成机器码,性能比原生 lua 要高) 的、可自定义脚本的多线程基准测试工具,也是目前用得最多的 MySQL 性能压测工具。 基于 sysbench,我们可以对比 MySQL 在不同版本、不同硬件配 阅读全文
posted @ 2022-12-06 16:01 iVictor 阅读(10818) 评论(2) 推荐(4) 编辑
摘要:故障检测(Failure Detection)是 Group Replication 的一个核心功能模块,通过它可以及时识别集群中的故障节点,并将故障节点从集群中剔除掉。如果不将故障节点及时剔除的话,一方面会影响集群的性能,另一方面还会阻止集群拓扑的变更。 下面结合一个具体的案例,分析 Group 阅读全文
posted @ 2022-11-07 09:43 iVictor 阅读(1588) 评论(0) 推荐(0) 编辑
摘要:搭建从库,本质上需要的只是一个一致性备份集及这个备份集对应的位置点信息。之前介绍的几个备份工具( MySQL中如何选择合适的备份策略和备份工具 )均可满足。 这里,我们重点看看如何基于 XtraBackup 搭建从库。 整个过程其实比较简单,无非是备份还原。唯一需要注意的是建立复制时位置点的选择,包 阅读全文
posted @ 2022-06-06 14:35 iVictor 阅读(2660) 评论(0) 推荐(2) 编辑
摘要:mysqldump 和 mydumper 是我们常用的两个逻辑备份工具。 无论是 mysqldump 还是 mydumper 都是将备份数据通过 INSERT 的方式写入到备份文件中。 恢复时,myloader( mydumper 中的恢复工具 ) 是多线程导入,且一个 INSERT 语句中包含多条 阅读全文
posted @ 2022-05-30 13:42 iVictor 阅读(4218) 评论(1) 推荐(6) 编辑
摘要:JSON 数据类型是 MySQL 5.7.8 开始支持的。在此之前,只能通过字符类型(CHAR,VARCHAR 或 TEXT )来保存 JSON 文档。 相对字符类型,原生的 JSON 类型具有以下优势: 在插入时能自动校验文档是否满足 JSON 格式的要求。 优化了存储格式。无需读取整个文档就能快 阅读全文
posted @ 2022-05-05 09:12 iVictor 阅读(27889) 评论(5) 推荐(6) 编辑
摘要:1. LOAD DATA INFILE 为什么比 INSERT 快? 2. sysbench 压测 MySQL 的四个标准步骤。 3. 怎么让 sysbench 支持 LOAD DATA LOCAL INFILE 命令,让导数速度提升 30%? 阅读全文
posted @ 2022-04-07 09:50 iVictor 阅读(971) 评论(0) 推荐(1) 编辑
摘要:归档,在 MySQL 中,是一个相对高频的操作。 它通常涉及以下两个动作: 迁移。将数据从业务实例迁移到归档实例。 删除。从业务实例中删除已迁移的数据。 在处理类似需求时,都是开发童鞋提单给 DBA,由 DBA 来处理。 于是,很多开发童鞋就好奇,DBA 都是怎么执行归档操作的?归档条件没有索引会锁 阅读全文
posted @ 2022-03-14 07:02 iVictor 阅读(2660) 评论(1) 推荐(1) 编辑
摘要:DDL 被阻塞了,如何找到阻塞它的 SQL? 阅读全文
posted @ 2022-01-11 13:46 iVictor 阅读(1214) 评论(2) 推荐(2) 编辑
摘要:随着业务的不断发展,数据库中的数据会越来越多,相应地,单表的数据量也会越到越大,大到一个临界值,单表的查询性能就会下降。 这个临界值,并不能一概而论,它与硬件能力、具体业务有关。 虽然在很多 MySQL 运维规范里,都建议单表不超过 500w、1000w。 但实际上,我在生产环境,也见过大小超过 2 阅读全文
posted @ 2021-12-21 07:46 iVictor 阅读(7943) 评论(1) 推荐(2) 编辑
摘要:​数据库备份的重要性毋庸置疑,可以说,它是数据安全的最后一道防线。鉴于此,对于备份,我们通常会做以下要求: 多地部署 对于核心数据库,我们通常有两地三中心的部署要求。对于备份来说,也是如此。 一个备份应该有多个副本,每个副本存储在不同区域。 多介质部署 一个备份的多个副本应存储在不同介质上,如磁盘和 阅读全文
posted @ 2021-10-16 11:31 iVictor 阅读(3099) 评论(5) 推荐(0) 编辑
摘要:在使用MySQL的过程中,在存储字符串时,大家或许都有过这样或那样的困惑,譬如: 1. 对于固定长度的字符串,为什么推荐使用 CHAR 来存储? 2. VARCHAR 可设置的最大长度是多少? 3. 给定一个字符串,怎么知道它的空间使用情况? 4. 创建索引时,提示“Index column siz 阅读全文
posted @ 2021-08-14 22:59 iVictor 阅读(39807) 评论(2) 推荐(8) 编辑
摘要:如何基于Binlog得到事务的大小、事务的持续时间、热点表? 阅读全文
posted @ 2021-08-08 12:00 iVictor 阅读(1176) 评论(0) 推荐(0) 编辑
摘要:优化SQL,只懂执行计划?不行滴! 阅读全文
posted @ 2021-06-12 20:00 iVictor 阅读(1106) 评论(0) 推荐(1) 编辑
摘要:最近碰到一个case,值得分享一下。 现象 一个DDL,将列的属性从null调整为not null default xxx, alter table slowtech.t1 modify name varchar(10) not null default 'slowtech'; 通过平台执行(平台调 阅读全文
posted @ 2021-01-30 07:55 iVictor 阅读(4967) 评论(1) 推荐(2) 编辑
摘要:Clone Plugin是MySQL 8.0.17引入的一个重大特性,为什么要实现这个特性呢?个人感觉,主要还是为Group Replication服务。在Group Replication中,添加一个新的节点,差异数据的补齐是通过分布式恢复(Distributed Recovery)来实现的。 在 阅读全文
posted @ 2020-10-15 08:44 iVictor 阅读(2908) 评论(0) 推荐(0) 编辑
摘要:SQL_MODE是MySQL中的一个系统变量(variable),可由多个MODE组成,每个MODE控制一种行为,如是否允许除数为0,日期中是否允许'0000-00-00'值。 为什么需要关注SQL_MODE呢? 首先,看三个简单的Demo(MySQL 5.6)。 1. mysql> create 阅读全文
posted @ 2019-11-04 09:30 iVictor 阅读(7641) 评论(1) 推荐(2) 编辑
摘要:对于MySQL的历史,相信很多人早已耳熟能详,这里就不要赘述。下面仅从产品特性的角度梳理其发展过程中的里程碑事件。 1995年,MySQL 1.0发布,仅供内部使用。 1996年,MySQL 3.11.1发布,直接跳过了MySQL 2.x版本。 1999年,MySQL AB公司成立。同年,发布MyS 阅读全文
posted @ 2018-10-18 08:54 iVictor 阅读(33550) 评论(11) 推荐(20) 编辑
摘要:在上一篇文章《MySQL 5.7中如何定位DDL被阻塞的问题》中,对于DDL被阻塞问题的定位,我们主要是基于MySQL 5.7新引入的performance_schema.metadata_locks表。提出的定位方法,颇有种"锦上添花"的意味,而且,也只适用于MySQL 5.7开始的版本。 但在实 阅读全文
posted @ 2018-08-21 21:07 iVictor 阅读(2087) 评论(5) 推荐(2) 编辑

点击右上角即可分享
微信分享提示