HCM

Happy Coding Monkey

TiDB Local Development Envrionment

2020-08-16


Run TiDB in Docker

使用的tidb-docker-compose, fork自pingcap/tidb-docker-compose仓库.

去掉了TiSpark功能, 暂时用不上, 节省点内存.

TiDB集群(有Prometheus + Grafana)跑起来, 2G内存不够, 至少要分配4G内存.

Development locally.

在tidb代码目录的同级目录, 增加一个shell脚本, 用于替换容器中的二进制文件.

# cat ../script/replace_tidb.sh
#!/bin/bash

set -e

make
docker cp bin/tidb-server tidb-docker-compose_tidb_1:/tidb-server
docker restart tidb-docker-compose_tidb_1

echo "replace tidb success"
docker exec -it tidb-docker-compose_tidb_1  /tidb-server -V

在tidb代码目录执行../script/replace_tidb.sh就能替换版本, 也不用污染tidb的代码目录.

关键不用重新build docker镜像和重新创建container, 速度很快.

增加日志

增加一个事务启动时的日志打印, 需修改TiDB Server代码, repo在bopjiang/tidb

发现一个问题, tidb-docker-compose仓库中的tidb server配置文件config/tidb.toml貌似有问题, 集群启动后有报出如下错误:

tidb_1         | config file /tidb.toml contained unknown configuration options: 
log.file.log-rotate, performance.retry-limit, plan-cache, plan-cache.enabled, 
plan-cache.capacity, plan-cache.shards

调整日志级别好像也不管用, 日志打印不出. 最后用的fmt.Printf.