分类目录归档:MySQL

MySQL Limit用法笔记

最近用低代码平台amis, 2天搭了一个审核系统,为了快点看到效果,没有使用框架的ORM,直接写SQL,结果分页展示数据,总数比展示数据多一条,原因是在MySQL Limit上翻车了。特别震惊,工作这么多年了,自己真的不知道limit的用法。
继续阅读

MySQL主从同步原理笔记

上篇文章分析了MySQL主从同步的配置,傻瓜式的配置还是相对容易的。知道怎么配,还需要知道这么配的运行原理。也就是我们常说的知其然,知其所以然。

一、原理分析
主从同步也叫主从复制。同步原理
0、主服务器(master)把数据更改记录到二进制日志(binlog)中。
1、从服务器(slave)连接主服务器,master会为每个slave开启单独的binlog dump thread。

mysql>change master to master_host='10.235.25.242',master_user='mysql',master_password='123456',master_log_file='mysql-bin.000147',master_log_pos=98;

2、从库上启动I/O线程和SQL线程。

mysql>start slave;

3、master上的binlog dump thread发送binlog, slave上的I/O线程接收binlog后写入中继日志(relay log)。【这里master和slave建立的是TCP连接,很多资料表明是binlog dump thread发送到slave, slave I/O线程读取,我理解一端发送,一段接收】
4、slave上的SQL线程读取relay log, 写入从库。
继续阅读

MySQL主从同步配置笔记

MySQL单机安装和配置,这里就不展开了。感兴趣的同学可以参考我之前的文章《MySQL-8.0.11源码编译安装

实际生产环境往往是单库运行一段时间后,增加的从库,需要考虑历史数据同步问题。这里是在测试环境搭建的,不考虑历史数据问题。直接在两台数据库服务器上创建两个新库niliu, 然后演示同步。

主:10.235.25.242 【CentOS release 6.5】 【MySQl 5.0.77】
从:10.235.25.241 【CentOS release 6.9】 【MySQl 5.0.77】

说明:以下配置为了简洁方便,含义特放在第五部分说明。
继续阅读

B+树学习笔记

不知道你有没有这样的困惑,B+树的资料看了很多,依旧对B+树没有一个具象的认识。我也是这么走过来的,所以希望这篇笔记能帮到你。

一、演化阶段
你或许知道,或许不知道。B+树是由二叉树不断演化过来的。
大致的演化路线如下:
二叉查找树 -> 平衡二叉树 -> B树 -> B+树。

为了说清楚B+说,我们很有必要搞清楚演化过程中每个阶段的特点。
继续阅读