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
orMySQL
.
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
}