Get the code, build, and run

Prerequisites

  • git: The TiDB source code is hosted on GitHub as a git repository. To work with the git repository, please install git.

  • go: TiDB is a Go project. Therefore, you need a working Go environment to build it. See the previous Install Golang section to prepare the environment.

  • gcc: gcc command is required to use cgo while building. To install gcc, search for appropriate install guide for your OS.

  • mysql client (optional): After building TiDB from source, you can use the official MySQL client to connect to TiDB. It is not required if you want to build TiDB only.

Note:

TiDB could compile and run on Windows 10. However, it is not expected to be deployed on Windows, where you might encounter many compatibility problems. To have a better experience, we recommend you install WSL2 first.

Clone

Clone the source code to your development machine:

git clone https://github.com/pingcap/tidb.git

Build

Build TiDB from the source code:

cd tidb
make

Run

Now that you have the tidb-server binary under the bin directory, execute it for a TiDB server instance:

./bin/tidb-server

This starts the TiDB server listening on port 4000 with embedded unistore.

Connect

You can use the official MySQL client to connect to TiDB:

mysql -h 127.0.0.1 -P 4000 -u root -D test --prompt="tidb> " --comments

where

  • -h 127.0.0.1 sets the Host to local host loopback interface

  • -P 4000 uses port 4000

  • -u root connects as root user (-p not given; the development build has no password for root.)

  • -D test uses the Schema/Database test

  • --prompt "tidb> " sets the prompt to distinguish it from a connection to MySQL

  • --comments preserves comments like /*T![clustered_index NONCLUSTERED */ instead of stripping them when sending the query to the server.

If you encounter any problems during your journey, do not hesitate to reach out on the TiDB Internals forum.

Last updated