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
mysqlorMySQL.
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
}
Connection Options
askForPasswordbooleanAsk for password at connection time instead of storing it as plaintext in your settings.
Ask for password at connection time instead of storing it as plaintext in your settings.
| Type | boolean |
| Default Value | false |
connectionTimeoutnumberConnection timeout in seconds.
Connection timeout in seconds.
| Type | number |
| Default Value | 15 |
connectStringstring | nullConnect string. Support for Oracle, PostgreSQL and AWS Redshift.
Connect string. Support for Oracle, PostgreSQL and AWS Redshift.
| Type | string or null |
cqlOptionsobject | nullSee https://docs.datastax.com/en/developer/nodejs-driver/4.1/api/type.ClientOptions/ for more details.
See https://docs.datastax.com/en/developer/nodejs-driver/4.1/api/type.ClientOptions/ for more details.
| Type | object or null |
| Default Value | {} |
databasestringDatabase name.
Database name.
| Type | string |
dialectstringConnection Driver
Connection Driver
| Type | string |
driverstringConnection driver used for this connection.
Connection driver used for this connection.
| Type | string |
groupstringConnection group name.
Connection group name.
| Type | string |
mysqlOptionsobject | nullSee https://vscode-sqltools.mteixeira.dev/en/drivers/my-sql#2-mysqloptions for more details.
See https://vscode-sqltools.mteixeira.dev/en/drivers/my-sql#2-mysqloptions for more details.
| Type | object or null |
| Default Value | {} |
| Property | Description | Type |
|---|---|---|
| authProtocol | string
| |
| ssl | boolean, object, string or null |
namestringConnection name.
Connection name.
| Type | string |
passwordstring | nullConnection password
Connection password
| Type | string or null |
portnumberPort for connection.
Port for connection.
| Type | number |
previewLimitnumberMaximum number of records to return in table previews.
Maximum number of records to return in table previews.
| Type | number |
| Default Value | 50 |
serverstringServer address.
Server address.
| Type | string |
| Default Value | 127.0.0.1 |
socketPathstringPath of socket file to connect using UNIX sockets. MySQL only for now.
Path of socket file to connect using UNIX sockets. MySQL only for now.
| Type | string |
usernamestringConnection username.
Connection username.
| Type | string |
variablesobject | nullConnection variables in a key/value pair format. Use this property with sqltools.queryParams.enableReplace to replace the variables without prompting.
Connection variables in a key/value pair format. Use this property with sqltools.queryParams.enableReplace to replace the variables without prompting.
| Type | object or null |
| Default Value | null |
| Property | Description | Type |
|---|