Doc Menu

Local Deployment from Binary Tarball

This guide provides installation instructions for all TiDB components on a single developer machine. It is intended for evaluation purposes, and does not match the recommended usage for production systems.

See also testing environment and production environment deployment.

The following local TCP ports will be used:

TiDB4000TCPthe communication port for the application and DBA tools
TiDB10080TCPthe communication port to report TiDB status
TiKV20160TCPthe TiKV communication port
PD2379TCPthe communication port between TiDB and PD
PD2380TCPthe inter-node communication port within the PD cluster


This guide is for deployment on Linux only. It is recommended to use RHEL/CentOS 7.3 or higher. TiKV requires you to raise the open files limit:


cat << EOF > /tmp/tidb.conf
$tidbuser        soft        nofile        1000000
$tidbuser        hard        nofile        1000000

sudo cp /tmp/tidb.conf /etc/security/limits.d/
sudo sysctl -w fs.file-max=1000000

See the production deployment optional kernel tuning parameters.

Create a database running user account

  1. Log in to the machine using the root user account and create a database running user account (tidb) using the following command:

    # useradd tidb -m
  2. Switch the user from root to tidb by using the following command. You can use this tidb user account to deploy your TiDB cluster.

    # su - tidb

Download the official binary package

# Download the package.
$ wget
$ wget

# Check the file integrity. If the result is OK, the file is correct.
$ sha256sum -c tidb-latest-linux-amd64.sha256

# Extract the package.
$ tar -xzf tidb-latest-linux-amd64.tar.gz
$ cd tidb-latest-linux-amd64


Follow the steps below to start PD, TiKV and TiDB:

  1. Start PD.

    $ ./bin/pd-server --data-dir=pd \
                    --log-file=pd.log &
  2. Start TiKV.

    $ ./bin/tikv-server --pd="" \
                      --data-dir=tikv \
                      --log-file=tikv.log &
  3. Start TiDB.

    $ ./bin/tidb-server --store=tikv \
                      --path="" \
                      --log-file=tidb.log &
  4. Use the MySQL client to connect to TiDB.

    $ mysql -h -P 4000 -u root -D test