TIDB-cenos7开发环境搭建
1.安装centos7,注意要安装桌面,如果最小化安装,无法使用IDE了
关闭防火墙或者打开4000端口
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
安装后换阿里源,安装git
2.安装go环境
https://golang.org/dl/ go的主页下载地址,可以到这里寻找最新版本
cd /opt
mkdir golang
cd golang
curl -O https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
tar -zxvf go1.8.3.linux-amd64.tar.gz
cd /opt
mkdir gopath
在/etc/profile中添加
export GOROOT=/opt/golang/go
export PATH=$GOROOT/bin:$PATH
export GOPATH=/opt/gopath
修改完source /etc/profile 刷新一下,使用 go version查看版本,也可以使用go env查看环境变量信息
3.安装goland开发环境
在https://www.jetbrains.com/go/下载试用版本,使用tar zxvf 解压tar包。
进入解压后的目录 cd GoLand-2018.1.1/bin
执行sh goland.sh 即可
4.安装Tidb的单机环境
因为TIDB有多个部件,我们只调测其中一个,所以先安装一个完整的,然后再考虑使用代码启动进行替换,
# 下载压缩包
cd /opt
mkdir tidb-pro
cd tidb-pro wget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz
wget http://download.pingcap.org/tidb-latest-linux-amd64.sha256 # 检查文件完整性,返回 ok 则正确
sha256sum -c tidb-latest-linux-amd64.sha256 # 解开压缩包
tar -xvzf tidb-latest-linux-amd64.tar.gz # 查看执行文件和版本
cd /opt/tidb-pro/tidb-latest-linux-amd64
./bin/tidb-server -V
这里需要检查一下版本,后续需要将代码切换到对应的版本上

启动TIDB所有组件
#启动pd
./bin/pd-server --data-dir=pd --log-file=pd.log & #启动kv
./bin/tikv-server --pd="127.0.0.1:2379" --data-dir=tikv --log-file=tikv.log & #启动ti-server
./bin/tidb-server --store=tikv --path="127.0.0.1:2379" --log-file=tidb.log &
如何操作后台任务可以参考下面的文章:
http://www.cnblogs.com/itech/archive/2012/04/19/2457499.html
5.下载tidb代码
#下载代码 go get -v github.com/pingcap/tidb #查看一下分支 cd /opt/gopath/src/github.com/pingcap/tidb git branch #切换分支到一个tag上 git checkout v2.0.0-rc.
6.使用goland读取工程
比较简单的方式是,直接选择导入,使用gopath做为工程的根目录就可以了。
File->Default Settings 设置一下 GOROOT等
7.编译tidb
cd /opt/gopath/src/github.com/pingcap/tidb
make

8.使用goland启动ti-server
首先关闭原有的ti-server进程,保留pd和kv的运行
进入goland IDE,在src/github.com/pingcap/tidb/tidb-server/main.go文件上右键单击,选择Creage ‘go build main.go’

填入启动ti-server时填入的参数

确定以后,再右键单击 main.go文件,选择Run 或者 Debug执行就可以了。

第一次可以直接启动,尝试用客户端试试能否连接上。
执行sql时,会经过tidb/session/session.go文件的Execute方法
func (s *session) Execute(ctx context.Context, sql string) (recordSets []ast.RecordSet, err error) {
由于goland的条件断点存在问题,我们采用变通方式挂接断点,我们在这里增加如下代码:
if(strings.Contains(sql, "#debug")) {
fmt.Println("SQL=" + sql) // 在这里挂断点
}
执行sql时,在sql语句中增加#debug,即可只走这条sql的断点了。
后续会再增加编译和替换的内容,敬请期待
TIDB-cenos7开发环境搭建的更多相关文章
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- IntelliJ IDEA安装及jsp开发环境搭建
一.前言 现在.net国内市场不怎么好,公司整个.net组技术转型,就个人来说还是更喜欢.net,毕竟不是什么公司都像微软一样财大气粗开发出VS这样的宇宙级IDE供开发者使用,双击sln即可打开项目, ...
- Qt for Android开发环境搭建及测试过程记录
最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...
- node.js之开发环境搭建
一.安装linux系统 (已安装linux可跳此步骤) 虚拟机推荐选择:VirtualBox 或者 Vmware (专业版永久激活码:5A02H-AU243-TZJ49-GTC7K-3C61N) 我这 ...
- TODO:小程序开发环境搭建
TODO:小程序开发环境搭建 1.第一步当然是要先注册小程序了 2.登录到小程序 a)完善小程序信息,如名称,图标,描述 3.绑定开发者 4.获取AppID,并设置服务器信息 5.下载并安装开发者工具 ...
- Eclipse中Python开发环境搭建
Eclipse中Python开发环境搭建 目 录 1.背景介绍 2.Python安装 3.插件PyDev安装 4.测试Demo演示 一.背景介绍 Eclipse是一款基于Java的可扩展开发平台. ...
- Windows 10 IoT Serials 1 - 针对Minnow Board MAX的Windows 10 IoT开发环境搭建
目前,微软针对Windows IoT计划支持的硬件包括树莓派2,Minnow Board MAX 和Galileo (Gen 1和Gen 2).其中,Galileo (Gen 1和Gen 2)运行的是 ...
- Eclipse swt开发环境搭建
原料: eclipse swt.下载链接为: Eclipse 4.6.2 Release Build: 4.6.2 配置说明: Developing SWT applications using Ec ...
- Ionic- Android 开发环境搭建
Ionic- Android 开发环境搭建 为时一周的IONIC ADNROID 环境终于在各种处理错误中搭建成功,以下记录下搭建过程中遇到的各种情况的处理办法. 一 首先,当然是enviroment ...
- visual studio 2015 + Cordova 开发环境搭建
简单的写一些,备忘,太折腾了,特别是通过代理上网的我们国内的开发者 1.当然是安装Visual Studio 2015,别忘了选择Tools For Apache Cordova. 对于通过Proxy ...
随机推荐
- mysql 备份与还原恢复
一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...
- java jvm设置http代理参数
-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=1080
- 图数据库cayley+mongo的起航之旅
图数据库,目前比较主流的可能是Neo4j以及cayley了.但是,由于Neo4j只有社区版是免费的,所以,选择cayley作为项目的最终选择! 今天就简单的介绍下,我的起航之旅. 1.安装go语言环境 ...
- Mysql权限速查表以及权限详解
一.前言 很多文章中会说,数据库的权限按最小权限为原则,这句话本身没有错,但是却是一句空话.因为最小权限,这个东西太抽象,很多时候你并弄不清楚具体他需要哪 些权限. 现在很多mysql用着root账户 ...
- MySQL性能管理及架构设计
第1章 实例和故事 1-1 什么决定了电商双11大促的成败 老板可能会说:"是我们的英明决策和运筹帷幄". 运营和产品可能会说:"是由于我们的活动策划和产品设计" ...
- 删除右键菜单中的Git
在打开的注册表中找到:HKEY_CLASSES_ROOT,并点HKEY_CLASSES_ROOT前面的小三角:找到Directory,点击前面的小三角:找到Background,点击前面的小三角:打开 ...
- Java第10次实验(网络)
参考资料 本次作业参考文件 正则表达式参考资料 漫画:HTTP 协议极简教程,傻瓜都能看懂! 注:主要根据实验任务书的指导完成本次实验. 第1次实验 1. 网络基础 ipconfig.ping Con ...
- JAVA开源B2C系统
前言 最近有人想面向境外销售商品,但是又不想依托于亚马逊这些平台,于是找我来帮忙想弄个B2C系统.因为刚开始只是打算试试水,也就不打算投入多少成本了.所以这边就考虑使用开源的B2C系统来直接使用了. ...
- PowerPoint’s Menu is Too Big
转自: http://jdav.is/2016/08/31/powerpoints-menu-is-too-big/ It seems that when Microsoft deployed the ...
- 【Mysql】MySQL高效获取记录总数SQL_CALC_FOUND_ROWS
用法说明 分页程序一般由两条SQL组成: SELECT COUNT(*) FROM ... WHERE .... SELECT ... FROM ... WHERE LIMIT ... 如果使用SQL ...