Mysql - 从一个小 case 理解 MVCC

原文链接: https://juejin.cn/post/7163934829984088095

从 innoDB 的一致性非锁定读说起

非锁定读和行快照数据

一致性的非锁定读(consistent nonlocking read)是指 InnoDB 存储引擎通过行多版本控制(multi versioning)的方式来读取当前执行时间数据库中行的数据。如果读取的行正在执行 DELETE 或 UPDATE 操作,这时读取操作不会因此去等待行上锁的释放。相反地,InnoDB 存储引擎会去读取行的一个快照数据,下图是关于快照数据的一个简单示图:

阅读更多

mysql 日志文件

日志文件记录了影响 mysql 数据库的各种类型活动,mysql 中常见的日志文件主要包括以下 4 种:

  • 错误日志
  • 二进制日志
  • 慢查询日志
  • 查询日志

这些日志文件可以帮助我们对mysql数据库的运行状态进行诊断,从而更好的进行数据库层面的优化。

阅读更多

Linux 下安装 Mysql 数据库

最近在搞 Apollo ,熟悉的同学应该知道,Apollo 需要依赖 Mysql。本以为很容易搞定,但是却踩了一路坑,眼高手低,也参考了网上很多博客,果然是残缺就是美!本篇就简单记录一下这个过程,以便后面参考。

环境

| 软件 | 版本|
| ———— | ———— |
|linux | centOS 7|
| jdk | 8 |
| mysql| 5.7.24 |

阅读更多

关于 Mybatis 中 SQL 语句的整理

随着业务的发展,越来越多的应用系统都从一个大的系统分拆成多个小的系统,各个系统之间通过一定的通信协议进行数据交换。这样就会导致一些小的应用系统自己不用去进行数据库的操作,只需要进行一些rpc调用或者缓存就可以拿到数据进行展示。我之前参与的一个项目就是这样的情况,而我也是将近7个多月的时间没有写过一行SQL。

近期参与的一个项目的数据大多都市基于数据库来进行数据交互的,所以免不了的要写大量的 SQL,所以本篇就总结一下一些 SQL 的基本写法,以备后用。

阅读更多