MySQL
阿丸笔记
微信公众号:阿丸笔记。
Java知识图谱:https://github.com/saigu/JavaKnowledgeGraph
展开
-
使用过mysql的binlog吗?看看如何用binlog排查阿里开源项目otter的问题
MySQL的binlog相信大家都有所耳闻,但是可能没有真正日常使用过。因此,本文结合一个otter小坑的排查案例,来分享下binlog的日常使用方式。重点了解下:binlog的导出方式binlog的解析方式结合案例分享下开源项目otter的一个小坑1.案例背景某个周末突然收到报警,发现线上多云数据库的数据同步任务挂起,显示日志写入数据失败。错误原因非常明显:唯一索引冲突。查看了一下源库的数据内容,确实已经update完毕。而目标库的数据内容,确实存在冲突导致无法update。2原创 2020-12-04 19:19:49 · 350 阅读 · 0 评论 -
亿级大表分库分表实战总结(万字干货,实战复盘)
分库分表的文章网上非常多,但是大多内容比较零散,以讲解知识点为主,没有完整地说明一个大表的切分、新架构设计、上线的完整过程。因此,我结合去年做的一个大型分库分表项目,来复盘一下完整的分库分表从架构设计 到 发布上线的实战总结。1.前言为什么需要做分库分表。这个相信大家多少都有所了解。海量数据的存储和访问成为了MySQL数据库的瓶颈问题,日益增长的业务数据,无疑对MySQL数据库造成了相当大的负载,同时对于系统的稳定性和扩展性提出很高的要求。而且单台服务器的资源(CPU、磁盘、内存等)总是有限的,原创 2020-11-16 16:52:22 · 1113 阅读 · 1 评论 -
跟面试官侃半小时MySQL事务,一口气说完原子性、一致性、持久性的实现
提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关。而事务的ACID(即原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability)可以说涵盖了事务的全部知识点,所以,我们不仅要知道ACID是什么,还要了解ACID背后的实现,只有这样,无论在日常开发还是面试求职,都能无...原创 2020-04-13 10:05:59 · 1332 阅读 · 0 评论 -
跟面试官侃半小时MySQL事务隔离性,从基本概念深入到实现
提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关。而事务的ACID(即原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability)可以说涵盖了事务的全部知识点,所以,我们不仅要知道ACID是什么,还要了解ACID背后的实现,只有这样,无论在日常开发还是面试求职,都能无...原创 2020-03-27 09:33:14 · 2772 阅读 · 2 评论 -
MySQL数据库无完整备份删库,除了跑路还能怎么办?
1.背景前段时间,由于运维同事的一次误操作,清空了内网核心数据库,导致了公司内部管理系统长时间不可用,大量知识库内容由于没有备份险些丢失。结合这两天微盟的删库跑路事件,我们可以看到,数据库的备份与恢复显得尤为重要。本文将对此次内网数据恢复过程做一些整理,介绍删库后的抢救方案。同时,引发对数据库稳定性的思考。MySQL数据库无完整备份删库,除了跑路还能怎么办?2.数据抢修这份内网数...原创 2020-02-29 17:53:48 · 914 阅读 · 0 评论 -
说透MySQL里的各种锁(下篇)
在上篇中,我们介绍了MySQL中的全局锁和表锁。今天,我们专注于介绍一下行锁,这个在日常开发和面试中常常困扰我们的问题。1.行锁基础由于全局锁和表锁对增删改查的性能都会有较大影响,所以,我们自然会想到,只需要对有修改的行加锁就行了,这就是行锁。在事务中,事务1更新了一行主键为1的数据行,那么,在这个事务释放锁之前,事务2是不能操作的。另外,有一个很多人容易混淆的概念,就是行锁什么时候...原创 2020-02-25 22:15:00 · 393 阅读 · 0 评论 -
说透MySQL里的各种锁(上篇)
0.前言MySQL按照加锁的范围,分为全局锁、表级锁、行级锁。本文作为上篇,主要介绍MySQL的全局锁 和 表级锁。重要的实战总结为,如何安全地变更一个表的表结构。1.全局锁定义:全局锁就是对整个数据库实例加锁。全局锁语法:Flush tables with read lock (FTWRL)当你使用这个命令后,整个库处于只读状态,之后其他线程的数据更新语句(DML)、数据...原创 2020-02-22 23:35:26 · 356 阅读 · 0 评论 -
为什么MySQL分库分表后总存储大小变大了?
【MySQL系列相关】1.聊一聊关于MySQL的count(*)1.背景在完成一个分表项目后,发现分表的数据迁移后,新库所需的存储容量远大于原本两张表的大小。在做了一番查询了解后,完成了优化。回过头来,需要进一步了解下为什么会出现这样的情况。与标题的问题的类似问题还有,为什么表数据内容删除了而表大小没有变化。其本质都是一样的。要回答这些问题,我们需要从mysql的索引模型谈起。2....原创 2020-02-17 21:27:41 · 427 阅读 · 0 评论 -
聊一聊关于MySQL的count(*)
坚持更新Java技术栈相关总结,Java、MySQL、各种中间件等,关注公众号【阿丸笔记】获取第一时间更新。收集技术相关电子书、面试题,有需要的小伙伴可以关注公众号【阿丸笔记】,无套路领取。1. 背景自从大家对于MySQL数据库的稳定性有了更高的追求后,经常有小伙伴有这样的疑问,对于count(*)这样的操作,有没有正确的姿势,或者有没有可以优化的地方?但答案比较残酷,如果已经使用了正...原创 2020-02-16 15:37:28 · 885 阅读 · 2 评论