最新 最热

MySQL为什么不推荐使用in

当然,每个具体的情况都是不同的,所以在选择查询操作符时,我们需要根据具体的需求和数据情况进行评估和测试。在优化查询性能时,我们可以使用MySQL的查询分析工具来帮助我们理解查询的执行计划和性能瓶颈,从而做出更好的决...

2023-09-07
1

从一次pr经历谈谈golang和mysql的时区问题

前一段时间,引入了第三方库https://github.com/dolthub/go-mysql-server来进行mysql的单测,它是一个纯go实现的mysql server端,使用它可以去除fake test对mysql环境/docker环境的依赖,实测可以提升运行速度50%以上。实际...

2023-09-06
1

golang源码分析:go-mysql-server(1)

go-mysql-server是基于内存的mysql server,使用方法分下面五步,创建engine,设置root账户,初始化配置,初始化server,开启服务。具体如下:

2023-09-06
1

go-mysql-server:基于内存的go实现mysql server

https://github.com/dolthub/go-mysql-server是用golang实现的基于内存的mysql server。主要应用于两个场景:作为golang单测的mysql替换,作为内置的基于内存的数据库。MySQL Fake 常见实现方式有两种:SQLite 以及 go-mys...

2023-09-06
1

golang源码分析:go-mysql-elasticsearch(2)

go-mysql-elasticsearch的入口位于:mysql/go-mysql-elasticsearch/cmd/go-mysql-elasticsearch/main.go核心逻辑如下:

2023-09-06
1

golang源码分析:go-mysql(5)fake server

如何定义一个Fake server,接受客户端的请求,返回希望的结果,本质上是一个tcp server服务器,定义一个服务器过程如下:

2023-09-06
1

golang源码分析:go-mysql(4)binlog增量同步

实现binlog增量同步(Incremental dumping)需要哪些步骤呢?获取配置,初始化同步器,找到上一次同步位置,开启同步,并处理解析到的事件,整体流程如下:...

2023-09-06
1

golang源码分析:go-mysql-elasticsearch(1)

https://github.com/go-mysql-org/go-mysql-elasticsearch是一款通过解析mysql的binlog将mysql数据同步到es的同步工具,支持正则表达式多表同步。下面我们分析下如何使用。首先是安装...

2023-09-06
1

golang源码分析:go-mysql(3)mysql客户端

mysql Client进行一次查询需要三个核心操作,获得连接、测试连是否可用、发送请求:

2023-09-06
1

golang源码分析:go-mysql(2)自己实现一个canel

如何用golang自己实现一个canel呢,github.com/go-mysql-org/go-mysql给我们提供了这样的能力,它已经完成mysql协议的解析,并将解析后同步从库的过程实现,加入了几个插件点,实现自己的canel只需要实现这几个插件点即可完成...

2023-09-06
1