MAC book 上运行和编译TIDB 源代码

【是否原创】是
【首发渠道】墨天轮
【首发渠道链接】https://www.modb.pro/db/386667
【正文】
大家好! 本次继续tidb学习系列: 如何在笔记本上运行tidb?
相信看了tidb很多概念之后,大家都想看看tidb的几大核心组建tikv,tidb server, pd 的真容。

众所周知,tidb是go 语言开发的,所以大表哥在ide的选择上还是喜欢选择 jetbean 全家里面的 goland. 酷酷的,具有满满的时代的科技感!

操作系统推荐时 mac 或者 Linux 7+ 的系统,强烈不建议 windows下来调试!!!
(Go 语言强烈不推荐在windows 下面开发)大表哥本次实验是在 mac os系统上完成的

这里也请大家支持一下 jetbean 的正版软件。

言归正传,我们先来打看下 goland 这个ide:

我们选择 get from vcs 从GitHub的代码仓库中下载(需要科学上网的):

我们选择从github上下载

image

image
首先我们需要在github的网站上生成自己的token
image
这里我们选择 setting-》 developer setting
image
点击personal access tokens => generate new takens
image
image
一步一步的向下点击,直到最后生成一个toke的字符串
image
我们把生成好的token 填写到goland中
image
下一步,我们从 github的网站上,访问一下tidb这个项目:
image
复制一下clone的路径:
image
填写到ide中:
image
下载进行中。。。
image
我们可能会遇到错误
12:40 AM Clone failed: unable to access ‘https://github.com/pingcap/tidb.git/’: LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

我们需要设置一下:
AppledeMBP:~ apple$ git config http.sslVerify “false”

AppledeMBP:~ apple$ git config --global https.postbuffer 600M

AppledeMBP:~ apple$

最后顺利下载完成:
image
我们下一步安装一下go语言的开发环境,大家可以根据自己不同的操作系统类型下载相应的版本
https://go.dev/dl/
image
一路点击下一步就可以:
image
image
安装完毕后,我们可以打开一个终端测试一下go的安装版本:

AppledeMBP:~ apple$ go version

go version go1.17.7 darwin/amd64

下面我们需要在goland中配置一下, GoRoot
image
为了提高下载速度,需要配置一下GOPROXY
image
下载相关里演的 modules 很慢,需要等待一段时间
image
项目所依赖的module 下载好了之后,我们就可以尝试本地启动一下tidb 的server:

在这里我们可以参考一下 tidb的官方网站上的博客:

查找一下程序启动的入口 tide-server/ main.go
image
下面我们来启动一下这个 tidb-server/main.go这个程序:
image
当我们看到 [INFO] [server.go:245] [“server is running MySQL protocol”] [addr=0.0.0.0:4000] 这条信息的时候 证明tidb server 已经启动成功了。
image
接下来我们可以从客户端dbeaver 尝试连我们本地的 tidb server 了:
image
image

到这里,我们就完成在mac环境下tidb源码的搭建和启动。 关于更多的源码的介绍,小伙伴们可以关注 官网的博客:https://pingcap.com/zh/blog/?tag=TiDB%20源码阅读

大家一起动起手来,开启tidb的源码学习吧!!

3 个赞

感谢你的分享~

2 个赞

:+1::+1::+1:

1 个赞

学习学习

1 个赞

表妹,:heart: 给大表哥 来点积分吧 大表哥想兑换 PTCP的考试。。。

1 个赞

看到专栏已经有相关的内容了 hhhhh~

1 个赞

还是你牛 杠杠的 值得加油

1 个赞

是太一样的 我是通过 github peronal token下载的, 他这个是离线导入的项目 哈哈哈哈
不存在抄袭的 都是原创。。。

1 个赞

nice~
btw, that’s jetbrains.

1 个赞

牛逼 老铁

2 个赞