TiDB

TiDB Start Guide

Remember: We use the same driver extension to connect for both TiDB and MySQL, so some of the settings and documentation refer to mysql or MySQL.

1. Connections

Connection example:

{
  "name": "TiDB",
  "server": "localhost",
  "driver": "TiDB",
  "port": 4000,
  "database": "test",
  "username": "root",
  "askForPassword": false,
  "password": "",
  "connectionTimeout": 15
}

1.1 Specific Options

TiDB driver specific options can be passed using mysqlOptions settings.

{
  "name": "TiDB",
  "server": "gateway01.ap-southeast-1.prod.aws.tidbcloud.com",
  "driver": "TiDB",
  "port": 4000,
  "database": "test",
  "username": "GfKM8ds5z2m614G.root",
  "askForPassword": false,
  "password": "<your_password>",
  "connectionTimeout": 15,
  "mysqlOptions": {
    ... // options See section 2. mysqlOptions
  }
}

2. mysqlOptions

TiDB can NOT use the xprotocol, so please keep the mysqlOptions.authProtocol is default option.

Extra options can be used as defined in the connectors documentation.

See https://github.com/mysqljs/mysql#connection-options and https://github.com/mysqljs/mysql#pool-options

They will be passed to the pool constructor directly. See https://github.com/mtxr/vscode-sqltools/blob/master/packages/core/driver/mysql/index.ts .

Typical Connect Scenarios

1. TiDB Cloud Serverless Tier

TiDB Cloud Serverless Tier need to point the CA certificates.

{
  "name": "TiDB",
  "server": "gateway01.ap-southeast-1.prod.aws.tidbcloud.com",
  "driver": "TiDB",
  "port": 4000,
  "database": "test",
  "username": "GfKM8ds5z2m614G.root",
  "askForPassword": false,
  "password": "<your_password>",
  "connectionTimeout": 15,
  "mysqlOptions": {
    "authProtocol": "default",
    "enableSsl": "Enabled",
    "ssl": {
      "ca": "/etc/ssl/cert.pem"
    }
  }
}

You can read the TLS Connections to Serverless Tier document to get more information.

2. Local Default TiUP Playground Cluster

If you use the TiUP to create a playground cluster at your local device. You can use this config to connect:

{
  "name": "TiDB",
  "server": "localhost",
  "driver": "TiDB",
  "port": 4000,
  "database": "test",
  "username": "root",
  "askForPassword": false,
  "password": "",
  "connectionTimeout": 15
}