跳至主要內容
MySQL45讲学习日记

参考学习资料:极客时间 MySQL实战45讲(丁奇)

⚡1.基础架构:一条查询语句是如何执行的

​ MySQL可以分为 server层和存储引擎层。

server层包括连接器、查询缓存、分析器、优化器、执行器等。涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等

存储引擎负责数据的存储和提取。默认使用innodb,在建表时可以自行选择


holic-x...大约 37 分钟databseMySQL
MySQL-高可用篇-②分库分表实践

分表不分库

1.环境准备

项目环境

  • JAVA环境:JAVA 8、JDK1.8
  • Springboot:2.x
  • 分表组件:shardingsphere-jdbc
  • MySQL:V8.0.21

数据准备

​ 建立用于测试的数据:

  • 库名:db_camps
  • 数据库:t_user、t_student_1、t_student_2

holic-x...大约 11 分钟JAVAMySQL
MySQL-高可用篇-④分布式锁

学习核心

  • 分布式锁概念核心
    • 分布式锁基础
    • 如何实现分布式锁?(实现原理和案例场景拆解)
      • 三种主流实现分布式锁的方式(实现思路、案例分析、衍生问题)

学习资料


holic-x...大约 31 分钟JAVAMySQL
MySQL-高可用篇-①读写分离

学习核心

  • 读写分离核心(MySQL如何优化数据查询方案?)

    • 什么是读写分离?
    • 什么场景下需要读写分离?
    • 如何进行读写分离?主从复制核心、业务选型
  • MySQL提供了哪些复制模式?分别对应的应用场景是什么?

    • 4种复制模式(对应业务场景)
      • 异步复制
      • 半同步复制
      • 多源复制
      • 复制延迟
  • 如何避免主从复制延迟?

    • 注意对大事务的处理

      • 大事务处理:优化大事务处理性能(例如SQL优化等)、对大事务进行拆分(拆分为多个小事务后可并行处理)
    • 从机配置:版本升级,配置从机并行复制模式

    • 主从复制延迟监控

      • SHOW SLAVE STATUS可能并不准确
      • 引入心跳表定期更新时间,进而判断主从复制延迟时间
  • 读写分离如何在业务中落地


holic-x...大约 39 分钟JAVAMySQL