1.安装centos7,注意要安装桌面,如果最小化安装,无法使用IDE了

关闭防火墙或者打开4000端口

  1. systemctl stop firewalld.service #停止firewall
  2. systemctl disable firewalld.service #禁止firewall开机启动
  3. firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

安装后换阿里源,安装git

2.安装go环境

https://golang.org/dl/   go的主页下载地址,可以到这里寻找最新版本

  1. cd /opt
  2. mkdir golang
  3. cd golang
  4. curl -O https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
  5. tar -zxvf go1.8.3.linux-amd64.tar.gz
  6. cd /opt
  7. mkdir gopath

在/etc/profile中添加

  1. export GOROOT=/opt/golang/go
  2. export PATH=$GOROOT/bin:$PATH
  3. 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有多个部件,我们只调测其中一个,所以先安装一个完整的,然后再考虑使用代码启动进行替换,

  1. # 下载压缩包
  2. cd /opt
  3. mkdir tidb-pro
  4. cd tidb-pro
  5.  
  6. wget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz
  7. wget http://download.pingcap.org/tidb-latest-linux-amd64.sha256
  8.  
  9. # 检查文件完整性,返回 ok 则正确
  10. sha256sum -c tidb-latest-linux-amd64.sha256
  11.  
  12. # 解开压缩包
  13. tar -xvzf tidb-latest-linux-amd64.tar.gz
  14.  
  15. # 查看执行文件和版本
  16. cd /opt/tidb-pro/tidb-latest-linux-amd64
    ./bin/tidb-server -V

这里需要检查一下版本,后续需要将代码切换到对应的版本上

启动TIDB所有组件

  1. #启动pd
  2. ./bin/pd-server --data-dir=pd --log-file=pd.log &
  3.  
  4. #启动kv
  5. ./bin/tikv-server --pd="127.0.0.1:2379" --data-dir=tikv --log-file=tikv.log &
  6.  
  7. #启动ti-server
  8. ./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代码

  1. #下载代码
  2.  
  3. go get -v github.com/pingcap/tidb
  4.  
  5. #查看一下分支
  6.  
  7. cd /opt/gopath/src/github.com/pingcap/tidb
  8.  
  9. git branch
  10.  
  11. #切换分支到一个tag上
  12.  
  13. git checkout v2.0.0-rc.

6.使用goland读取工程

比较简单的方式是,直接选择导入,使用gopath做为工程的根目录就可以了。

File->Default Settings 设置一下 GOROOT等

7.编译tidb

  1. cd /opt/gopath/src/github.com/pingcap/tidb
  2. 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方法

  1. func (s *session) Execute(ctx context.Context, sql string) (recordSets []ast.RecordSet, err error) {

由于goland的条件断点存在问题,我们采用变通方式挂接断点,我们在这里增加如下代码:

  1. if(strings.Contains(sql, "#debug")) {
  2. fmt.Println("SQL=" + sql) // 在这里挂断点
  3. }

执行sql时,在sql语句中增加#debug,即可只走这条sql的断点了。

后续会再增加编译和替换的内容,敬请期待

TIDB-cenos7开发环境搭建的更多相关文章

  1. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  2. IntelliJ IDEA安装及jsp开发环境搭建

    一.前言 现在.net国内市场不怎么好,公司整个.net组技术转型,就个人来说还是更喜欢.net,毕竟不是什么公司都像微软一样财大气粗开发出VS这样的宇宙级IDE供开发者使用,双击sln即可打开项目, ...

  3. Qt for Android开发环境搭建及测试过程记录

    最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...

  4. node.js之开发环境搭建

    一.安装linux系统 (已安装linux可跳此步骤) 虚拟机推荐选择:VirtualBox 或者 Vmware (专业版永久激活码:5A02H-AU243-TZJ49-GTC7K-3C61N) 我这 ...

  5. TODO:小程序开发环境搭建

    TODO:小程序开发环境搭建 1.第一步当然是要先注册小程序了 2.登录到小程序 a)完善小程序信息,如名称,图标,描述 3.绑定开发者 4.获取AppID,并设置服务器信息 5.下载并安装开发者工具 ...

  6. Eclipse中Python开发环境搭建

    Eclipse中Python开发环境搭建  目 录  1.背景介绍 2.Python安装 3.插件PyDev安装 4.测试Demo演示 一.背景介绍 Eclipse是一款基于Java的可扩展开发平台. ...

  7. 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)运行的是 ...

  8. Eclipse swt开发环境搭建

    原料: eclipse swt.下载链接为: Eclipse 4.6.2 Release Build: 4.6.2 配置说明: Developing SWT applications using Ec ...

  9. Ionic- Android 开发环境搭建

    Ionic- Android 开发环境搭建 为时一周的IONIC ADNROID 环境终于在各种处理错误中搭建成功,以下记录下搭建过程中遇到的各种情况的处理办法. 一 首先,当然是enviroment ...

  10. visual studio 2015 + Cordova 开发环境搭建

    简单的写一些,备忘,太折腾了,特别是通过代理上网的我们国内的开发者 1.当然是安装Visual Studio 2015,别忘了选择Tools For Apache Cordova. 对于通过Proxy ...

随机推荐

  1. Maven+Eclipse+SparkStreaming+Kafka整合

    版本号: maven3.5.0     scala IDE for Eclipse:版本(4.6.1)    spark-2.1.1-bin-hadoop2.7    kafka_2.11-0.8.2 ...

  2. nginx基于目录的映射:

    nginx基于目录的映射: location /wxchat/ { #proxy_redirect off; proxy_set_header Host $host; proxy_set_header ...

  3. OpenEXR的输出机制

    最近在一直在研究OpenEXR这个软件.这个软件的图像输出机制很有意思,特地分享一下学习心得,就当是笔记了. 我的OpenEXR软件版本是2.2.0,系统平台是win7. 安装完毕OpenEXR之后我 ...

  4. PHP_EOL DIRECTORY_SEPARATOR

    换行符 PHP_EOL unix系列用 \n windows系列用 \r\n mac用 \r PHP中可以用PHP_EOL来替代,以提高代码的源代码级可移植性 路径上的斜杠    DIRECTORY_ ...

  5. vue 导出excel 多个sheet

    npm install -save xlsx //下载依赖包 import Vue from 'vue'; import XLSX from 'xlsx'; /** * 导出数据报表xlsx文件 * ...

  6. 用Matlab进行部分分式展开

    [r p k]=residue[num,den] 例如H(s)=(2s3+5s2+3s+6)/(s3+6s2+11s+6) num=[2 5 3 6]; den=[1 6 11 6]; [r p k] ...

  7. django之中间件middleware

    django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法. 在django项目的se ...

  8. 峰Redis学习(5)Redis 数据结构(Set的操作)

    第五节:Redis 数据结构之Set 类型 存储Set,这里的Set是无序的:  和List类型不同的是,Set集合中不允许出现重复的元素  Set可包含的最大元素数量是4294967295   存储 ...

  9. MySQL并发复制系列一:binlog组提交 (转载)

    http://blog.csdn.net/woqutechteam/article/details/51178803 MySQL  Binary log在MySQL 5.1版本后推出主要用于主备复制的 ...

  10. Butter Knife 使用方法

    获取控件 @InjectView(R.id.image_show_password)ImageView image_show_password; 控件事件 @OnClick(R.id.btn_subm ...