Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
146 changes: 146 additions & 0 deletions develop/dev-guide-gui-beekeeper-studio.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
---
title: Connect to TiDB with Beekeeper Studio
summary: Learn how to connect to TiDB using Beekeeper Studio.
aliases: ['/tidb/stable/dev-guide-gui-beekeeper-studio/','/tidb/dev/dev-guide-gui-beekeeper-studio/','/tidbcloud/dev-guide-gui-beekeeper-studio/']
---

# Connect to TiDB with Beekeeper Studio

TiDB is a MySQL-compatible database, and [Beekeeper Studio](https://www.beekeeperstudio.io/) is a free, open-source SQL editor and database manager with a modern, easy-to-use interface for Windows, macOS, and Linux. Beekeeper Studio has a built-in, native **TiDB** connection type.

In this tutorial, you can learn how to connect to TiDB using Beekeeper Studio Community Edition.

> **Note:**
>
> This tutorial is compatible with {{{ .starter }}}, {{{ .essential }}}, {{{ .premium }}}, TiDB Cloud Dedicated, and TiDB Self-Managed.

## Prerequisites

To complete this tutorial, you need:

- [Beekeeper Studio Community Edition **4.3.0** or later](https://www.beekeeperstudio.io/get). Beekeeper Studio Community Edition is free and open source, so no paid account is required.
- A TiDB cluster.

**If you don't have a TiDB cluster, you can create one as follows:**

- (Recommended) [Create a {{{ .starter }}} instance](/develop/dev-guide-build-cluster-in-cloud.md).
- [Deploy a local test TiDB Self-Managed cluster](/quick-start-with-tidb.md#deploy-a-local-test-cluster) or [Deploy a production TiDB Self-Managed cluster](/production-deployment-using-tiup.md).

## Connect to TiDB

Connect to TiDB depending on the TiDB deployment option you've selected.

<SimpleTab>
<div label="{{{ .starter }}} or Essential">

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

🔎 Supported by static analysis

🏁 Script executed:

sed -n '1,75p' develop/dev-guide-gui-beekeeper-studio.md

Repository: pingcap/docs

Length of output: 3963


🤖 get_repo_knowledge executed:

get_repo_knowledge pingcap/docs /tmp/coderabbit-repo-knowledge/pingcap-docs-9c73f70c/learnings /tmp/coderabbit-repo-knowledge/pingcap-docs-9c73f70c/conventions

Length of output: 4069


🌐 Web query:

site:docs.pingcap.com/tidbcloud "exclusive endpoint" Essential July 1 2026 shared endpoint

💡 Result:

In TiDB Cloud, the distinction between the endpoint shared model and the endpoint exclusive model for Essential instances is based on the creation date of the instance, with July 1, 2026, serving as the cutoff date [1][2][3]. Endpoint Shared Model: - Applies to all TiDB Cloud Starter instances and TiDB Cloud Essential instances created before July 1, 2026 [1][4][3]. - In this model, a single private or public endpoint can be shared by multiple TiDB Cloud Starter or Essential instances located within the same region and VPC [1][4][3]. - When connecting to instances using this model, users are required to include a mandatory account prefix in their connection string [1][2][3]. Endpoint Exclusive Model: - Applies to TiDB Cloud Essential instances created on or after July 1, 2026 [1][2][3]. - In this model, each Essential instance is assigned its own standalone private or public endpoint [1][4][3]. - A primary benefit of this model is that it eliminates the need to include an account prefix when connecting to the instance [1][2][3]. - Users must repeat the network setup steps for each individual Essential instance they wish to connect to in this mode [1][2][4]. Please note that the endpoint exclusive model is currently only available in certain AWS regions [1][2][4]. If it is not supported for a specific instance, the shared model is used instead [1][2][4].

Citations:


🏁 Script executed:

rg -n -i "exclusive endpoint|shared endpoint|July 1, 2026|Essential.*endpoint|endpoint.*Essential" --glob '*.md' .

Repository: pingcap/docs

Length of output: 24575


🏁 Script executed:

sed -n '1,70p' tidb-cloud/connect-via-standard-connection-serverless.md
printf '\n--- related username/account-prefix references ---\n'
rg -n -i "account prefix|username|user name|user.*prefix|exclusive model|shared model|July 1, 2026" tidb-cloud/connect-via-standard-connection-serverless.md tidb-cloud/set-up-private-endpoint-connections-serverless.md develop/dev-guide-gui-beekeeper-studio.md

Repository: pingcap/docs

Length of output: 6240


Separate the TiDB Cloud Essential endpoint models.

This tab combines Starter and Essential instances under one public-endpoint procedure. Essential instances can use shared or exclusive endpoints, which have different connection steps and username requirements. State which endpoint model this procedure supports, or provide separate instructions for each model. ( )


1. Navigate to the [**My TiDB**](https://tidbcloud.com/tidbs) page, and then click the name of your target {{{ .starter }}} or Essential instance to go to its overview page.

2. Click **Connect** in the upper-right corner. A connection dialog is displayed.

3. Ensure the configurations in the connection dialog match your operating environment.

- **Connection Type** is set to `Public`.
- **Branch** is set to `main`.
- **Connect With** is set to `Beekeeper Studio` (or the closest match, such as `General`, if Beekeeper Studio is not in the list).
- **Operating System** matches your environment.

4. Click **Generate Password** to create a random password.

> **Tip:**
>
> If you have created a password before, you can either use the original password or click **Reset Password** to generate a new one.

5. Launch Beekeeper Studio. On the connections screen, click **New Connection**, select **TiDB** from the **Connection Type** list, and fill in the connection form: copy the **Host** and **Port** from the TiDB Cloud connection dialog, and enter the **User** and **Password** from steps 3 and 4.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🔎 Supported by static analysis

🤖 get_repo_knowledge executed:

get_repo_knowledge pingcap/docs /tmp/coderabbit-repo-knowledge/pingcap-docs-9c73f70c/learnings

Length of output: 1138


🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- changed file status ---'
git status --short -- develop/dev-guide-gui-beekeeper-studio.md
printf '%s\n' '--- relevant document context ---'
sed -n '35,62p' develop/dev-guide-gui-beekeeper-studio.md
printf '%s\n' '--- nearby username and connection-string references ---'
rg -n -C 2 'User|user name|username|connection string|Host|Port|Password' develop/dev-guide-gui-beekeeper-studio.md

Repository: pingcap/docs

Length of output: 4830


🌐 Web query:

TiDB Cloud shared Starter Essential endpoint connection string username instance prefix official docs

💡 Result:

To connect to a TiDB Cloud Starter or Essential instance, you must include a unique instance prefix in your username [1][2]. When using the endpoint shared model (which applies to all Starter instances and Essential instances created before July 1, 2026), you are required to prepend this prefix to your database username [3]. For example, if your prefix is 3pTAoNNegb47Uc8 and your database user is root, the username provided in the connection string must be '3pTAoNNegb47Uc8.root' [1][2]. You must also wrap the username in quotation marks when using the command line [1][4]. For Essential instances created on or after July 1, 2026, TiDB Cloud uses an endpoint exclusive model, which eliminates the need to include the account prefix [3]. To find your unique instance prefix: 1. Navigate to the My TiDB page in the TiDB Cloud console [1][2]. 2. Click on the name of your specific instance to open its overview page [1][2]. 3. Click the Connect button in the upper-right corner [1][2]. 4. The connection dialog will display the connection string, which includes the correct prefix [1][2]. Because these instances require TLS, you should always ensure your connection string includes the necessary SSL parameters, which are also provided in the connection dialog generated by the TiDB Cloud console [3][1][5].

Citations:


🤖 get_repo_knowledge executed:

get_repo_knowledge pingcap/docs /tmp/coderabbit-repo-knowledge/pingcap-docs-9c73f70c/conventions

Length of output: 3147


🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- document introduction and procedure scope ---'
sed -n '1,40p' develop/dev-guide-gui-beekeeper-studio.md
printf '%s\n' '--- local TiDB Cloud username guidance ---'
rg -n -i -C 2 'instance prefix|username|user name|connection string' tidb-cloud develop | head -n 160

Repository: pingcap/docs

Length of output: 19328


Copy the complete TiDB Cloud user name.

Step 5 references User from steps 3 and 4, but those steps do not identify it. Shared endpoints require the instance prefix in the user name, so root alone can fail.

Proposed replacement
-5. Launch Beekeeper Studio. On the connections screen, click **New Connection**, select **TiDB** from the **Connection Type** list, and fill in the connection form: copy the **Host** and **Port** from the TiDB Cloud connection dialog, and enter the **User** and **Password** from steps 3 and 4.
+5. Launch Beekeeper Studio. On the connections screen, click **New Connection**, select **TiDB** from the **Connection Type** list, and fill in the connection form: copy the **Host**, **Port**, and **User** from the connection string shown in the TiDB Cloud connection dialog, and enter the **Password** from step 4.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
5. Launch Beekeeper Studio. On the connections screen, click **New Connection**, select **TiDB** from the **Connection Type** list, and fill in the connection form: copy the **Host** and **Port** from the TiDB Cloud connection dialog, and enter the **User** and **Password** from steps 3 and 4.
5. Launch Beekeeper Studio. On the connections screen, click **New Connection**, select **TiDB** from the **Connection Type** list, and fill in the connection form: copy the **Host**, **Port**, and **User** from the connection string shown in the TiDB Cloud connection dialog, and enter the **Password** from step 4.


![Beekeeper Studio: configure a TiDB connection](/media/develop/beekeeper-studio-connection-settings.png)

6. Turn on the **Enable SSL** toggle, since {{{ .starter }}} and Essential require an encrypted connection.

Unlike some GUI clients, Beekeeper Studio does not require you to manually download or select a CA certificate here — by default it trusts the server's certificate, so enabling SSL is enough.

Check warning on line 59 in develop/dev-guide-gui-beekeeper-studio.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [PingCAP.Ambiguous] Consider using a clearer word than 'enough' because it may cause confusion. Raw Output: {"message":"[PingCAP.Ambiguous] Consider using a clearer word than 'enough' because it may cause confusion.","location":{"path":"develop/dev-guide-gui-beekeeper-studio.md","range":{"start":{"line":59,"column":191},"end":{"line":59,"column":197}}},"severity":"INFO","code":{"value":"PingCAP.Ambiguous"}}

Check failure on line 59 in develop/dev-guide-gui-beekeeper-studio.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [PingCAP.EmDash] Don't put a space before or after a dash. Raw Output: {"message":"[PingCAP.EmDash] Don't put a space before or after a dash.","location":{"path":"develop/dev-guide-gui-beekeeper-studio.md","range":{"start":{"line":59,"column":120},"end":{"line":59,"column":125}}},"severity":"ERROR","code":{"value":"PingCAP.EmDash","url":"https://developers.google.com/style/dashes"}}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🔎 Supported by static analysis

🤖 get_repo_knowledge executed:

get_repo_knowledge pingcap/docs /tmp/coderabbit-repo-knowledge/pingcap-docs-9c73f70c/conventions

Length of output: 3712


🏁 Script executed:

#!/bin/bash
set -eu
file='develop/dev-guide-gui-beekeeper-studio.md'
printf '%s\n' '--- target file ---'
sed -n '35,125p' "$file"
printf '%s\n' '--- related repository guidance ---'
rg -n -i -C 2 'Beekeeper Studio|Enable SSL|CA cert|CA Cert|certificate verification|rejectUnauthorized|server certificate' develop docs 2>/dev/null | head -240

Repository: pingcap/docs

Length of output: 35017


🌐 Web query:

Beekeeper Studio documentation SSL connection CA certificate trust server certificate verification default

💡 Result:

In Beekeeper Studio, SSL connection behavior and certificate verification are primarily managed through the connection configuration settings [1][2]. By default, when you enable SSL, Beekeeper Studio is configured to "Trust the server," which means it will connect over SSL without requiring you to provide your own certificate files [1][2]. In this default mode, the application does not perform strict verification of the server's certificate, which allows it to function with self-signed certificates [1][3]. Beekeeper Studio supports three main approaches to SSL configuration: 1. Trust the server: This is the default setting. It enables SSL encryption but does not verify the server's certificate [1][2]. 2. Required Cert (CA/Client Cert): You provide your own certificate files (CA, client certificate, or key file) but leave the "Reject Unauthorized" option disabled [1][2]. This maintains the encrypted connection while providing custom certificates without enforcing full validation [3]. 3. Verified Cert (Full Verification): You provide the necessary certificate files and enable the "Reject Unauthorized" option [1][2]. This enforces full TLS verification against the provided certificates [3]. When "Reject Unauthorized" is disabled, Beekeeper Studio effectively ignores certificate validation errors, such as those caused by self-signed certificates or invalid certificate chains [3]. Conversely, enabling "Reject Unauthorized" mandates that the server certificate be strictly validated [1][3]. For specific database types like SQL Server, additional specialized options for "Strict" (validate certificate) and certificate pinning may be available depending on the driver and version [4].

Citations:


🏁 Script executed:

#!/bin/bash
set -eu
file='develop/dev-guide-gui-beekeeper-studio.md'
sed -n '35,125p' "$file"

Repository: pingcap/docs

Length of output: 5975


🏁 Script executed:

#!/bin/bash
set -eu
sed -n '50,115p' develop/dev-guide-gui-beekeeper-studio.md

Repository: pingcap/docs

Length of output: 4763


🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- target lines ---'
nl -ba develop/dev-guide-gui-beekeeper-studio.md | sed -n '50,65p;103,116p'
printf '%s\n' '--- repository references ---'
rg -n -i -C 2 'Beekeeper Studio|Enable SSL|CA cert|CA Cert' . --glob '!node_modules' --glob '!dist' | head -200

Repository: pingcap/docs

Length of output: 17646


🏁 Script executed:

#!/bin/bash
set -eu
python3 - <<'PY'
from pathlib import Path
p = Path("develop/dev-guide-gui-beekeeper-studio.md")
lines = p.read_text().splitlines()
for n in list(range(54, 63)) + list(range(106, 114)):
    print(f"{n+1}: {lines[n]}")
PY

Repository: pingcap/docs

Length of output: 1705


🏁 Script executed:

#!/bin/bash
set -eu
for url in \
  'https://docs.beekeeperstudio.io/user_guide/connection_options/' \
  'https://docs.beekeeperstudio.io/user_guide/connection_options/ssl/' \
  'https://www.beekeeperstudio.io/docs/connection-options'; do
  echo "--- $url ---"
  curl -L --max-time 10 -sS "$url" 2>/dev/null | tr '\n' ' ' | sed 's/<[^>]*>/ /g' | grep -oiE '.{0,180}(SSL|certificate|CA cert|verify).{0,300}' | head -10 || true
done

Repository: pingcap/docs

Length of output: 359


🌐 Web query:

site:docs.beekeeperstudio.io SSL "CA Certificate" "Verify" Beekeeper Studio

💡 Result:

To verify an SSL CA certificate in Beekeeper Studio, you must configure the SSL settings within your connection configuration. Beekeeper Studio provides three main modes for managing SSL connections, which correspond to the level of verification you require [1][2]. 1. Trust the server: This mode enables SSL without requiring any certificate files. It connects over HTTPS but does not verify the server's certificate, which allows connections to servers using self-signed certificates [1][2]. 2. Required Cert (Provide a CA certificate): Use this mode when your server uses a certificate signed by a private CA. You must provide the CA certificate file in the connection form. In this configuration, you should typically leave the Reject Unauthorized option unchecked [1][2]. 3. Verified Cert (Full certificate verification): This mode enforces full TLS verification. You must provide the CA certificate and, if required, a client certificate and key file. You must also enable the Reject Unauthorized option to ensure the certificate is fully validated [1][2]. In the connection settings, these options align with common database sslmode flags, where enabling Reject Unauthorized corresponds to stricter verification settings like verify-full [2]. If you are importing a connection URL that begins with https://, Beekeeper Studio will generally enable SSL automatically, allowing you to then provide your specific CA files as needed [1].

Citations:


🌐 Web query:

Beekeeper Studio 4.3.0 connection SSL "Trust the server" "Reject Unauthorized" documentation

💡 Result:

In Beekeeper Studio, the SSL "Reject Unauthorized" setting controls whether the application enforces strict verification of the server's TLS/SSL certificate [1][2]. Its behavior depends on your configuration: 1. Default Behavior (Trust the server): By default, when you enable SSL without providing your own certificate files, Beekeeper Studio "trusts the server" [1][3]. This means it will connect over SSL/TLS but will not verify the validity of the server's certificate [2]. This mode is compatible with self-signed certificates [2][4]. 2. Reject Unauthorized (Disabled): If you provide custom certificate files (such as a CA certificate) but leave "Reject Unauthorized" unchecked, Beekeeper Studio will attempt to use those certificates but will not strictly reject the connection if the server certificate does not perfectly match [2]. 3. Reject Unauthorized (Enabled): If you check "Reject Unauthorized," Beekeeper Studio enforces full TLS verification [1][2]. In this mode, the application requires a valid, trusted certificate chain [2]. If the server provides a self-signed certificate or one that does not match the provided CA/verification parameters, the connection will be rejected [2][5]. For environments requiring high security, you should provide the appropriate CA certificate file and enable "Reject Unauthorized" to ensure the identity of the server is strictly verified [1][6]. Conversely, for local development or environments using self-signed certificates where full verification is not possible, you should typically leave "Reject Unauthorized" unchecked or rely on the default "trust the server" configuration [2][4].

Citations:


🌐 Web query:

site:github.com/beekeeper-studio/beekeeper-studio "Trust the server" "Reject Unauthorized"

💡 Result:

In the context of database connection management (specifically within applications like Beekeeper Studio), the terms "Trust the server" and "Reject Unauthorized" relate to how the client verifies the SSL/TLS certificate provided by the database server [1][2]. Trust the server This setting (often the default) allows a client to establish an encrypted SSL/TLS connection with a database server without requiring the user to provide or verify a specific certificate [1][2]. When this is active, the client encrypts the connection but does not perform strict validation of the server's identity, meaning it will accept a self-signed certificate or a certificate that might not be trusted by a standard Certificate Authority (CA) [1]. Reject Unauthorized This is a security setting that, when enabled, forces the client to strictly verify the server's SSL/TLS certificate against known trusted CAs [1][2]. - When "Reject Unauthorized" is enabled, the connection will fail if the server presents a certificate that cannot be verified (e.g., self-signed, expired, or issued by an untrusted CA) [1][3]. - When "Reject Unauthorized" is disabled (or explicitly set to false), the client will ignore validation errors, effectively trusting any certificate presented by the server [1][2]. These concepts are critical for balancing convenience and security. Enabling "Reject Unauthorized" is the recommended practice for production environments to prevent man-in-the-middle (MITM) attacks by ensuring the server is who it claims to be [3]. "Trust the server" (or disabling "Reject Unauthorized") is typically used in development or testing environments where self-signed certificates are common [4][1][5].

Citations:


Require verified TLS for cloud connections. Beekeeper Studio’s default Trust the server mode encrypts traffic but does not validate server identity. For both instructions, enable Reject Unauthorized and use the TiDB Cloud CA certificate or a trusted system CA; otherwise, an impersonating server may be accepted.

📍 Affects 1 file
  • develop/dev-guide-gui-beekeeper-studio.md#L59-L59 (this comment)
  • develop/dev-guide-gui-beekeeper-studio.md#L111-L111

🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift

🔎 Supported by static analysis

🏁 Script executed:

#!/bin/bash
set -e
printf '%s\n' '--- target file ---'
sed -n '45,120p' develop/dev-guide-gui-beekeeper-studio.md
printf '%s\n' '--- relevant repository conventions/links ---'
rg -n -i 'Beekeeper|certificate|CA certificate|SSL|TiDB Cloud' develop README.md .github 2>/dev/null | head -120

Repository: pingcap/docs

Length of output: 27278


🌐 Web query:

Beekeeper Studio documentation connecting Trust the server SSL certificate verification CA certificate

💡 Result:

In Beekeeper Studio, SSL certificate verification and CA certificate configuration are managed within the connection settings, typically under the SSL section [1][2][3]. Beekeeper Studio generally offers three primary modes for SSL connectivity [1][4]: 1. Trust the Server (Default): Beekeeper Studio connects using SSL but does not perform verification of the server's certificate [1][3]. This is the simplest option and supports self-signed certificates [3]. 2. Required Cert (Reject Unauthorized Disabled): You provide your own certificate files (CA, client certificate, or key) but disable rejectUnauthorized, meaning the application will not strictly enforce verification [1][4]. 3. Verified Cert (Reject Unauthorized Enabled): You provide the necessary certificate files and enable rejectUnauthorized, which enforces full TLS/SSL certificate verification [1][4][3]. When configuring these options, you can specify an optional CA Certificate file (CA Cert) path, along with client certificate and key files, in the advanced SSL settings [2][3][5]. Special Note for SQL Server: SQL Server connections include a specific "Trust Server Certificate" checkbox [6][7]. This is a distinct setting required by the underlying SQL Server driver [7][8]. If you encounter connection issues with SQL Server even after configuring SSL, enabling this checkbox is often necessary to allow connections when the server uses a self-signed or otherwise untrusted certificate [6][7][8]. If you still experience issues (such as "unable to get local issuer certificate"), ensure your client environment (e.g., Windows/macOS/Linux) has the appropriate CA bundle, or consider using the NODE_EXTRA_CA_CERTS environment variable to point to the correct certificate authority bundle [9].

Citations:


🤖 get_repo_knowledge executed:

get_repo_knowledge pingcap/docs /tmp/coderabbit-repo-knowledge/pingcap-docs-9c73f70c/conventions

Length of output: 3712


🏁 Script executed:

#!/bin/bash
set -e
sed -n '45,120p' develop/dev-guide-gui-beekeeper-studio.md

Repository: pingcap/docs

Length of output: 5130


Require server-certificate verification for these public connections.

Beekeeper Studio's default Trust the server mode enables SSL without authenticating the server. Update lines 59 and 111 to require certificate verification, using the TiDB Cloud CA certificate where needed.


7. Click **Test** to validate the connection to your target {{{ .starter }}} or Essential instance.

8. If the connection test succeeds, click **Connect** to save the connection and start using it.

</div>
<div label="{{{ .premium }}}">

1. Navigate to the [**My TiDB**](https://tidbcloud.com/tidbs) page, and then click the name of your target {{{ .premium }}} instance to go to its overview page.

2. In the left navigation pane, click **Settings** > **Networking**.

3. On the **Networking** page, click **Enable** for **Public Endpoint**, and then click **Add IP Address**.

Ensure that your client IP address is added to the access list.

4. In the left navigation pane, click **Overview** to return to the instance overview page.

5. Click **Connect** in the upper-right corner. A connection dialog is displayed.

6. In the connection dialog, select **Public** from the **Connection Type** drop-down list.

- If a message indicates that the public endpoint is still being enabled, wait until the process completes.
- If you have not set a password yet, click **Set Root Password** in the dialog.
- In addition to the **Public** connection type, {{{ .premium }}} supports **Private Endpoint** connections. For more information, see [Connect to {{{ .premium }}} via AWS PrivateLink](/tidb-cloud/premium/connect-to-premium-via-aws-private-endpoint.md).

7. Launch Beekeeper Studio. On the connections screen, click **New Connection**, select **TiDB** from the **Connection Type** list, and fill in the connection form: copy and paste the **Host**, **Port**, and **Username** from the connection dialog, and enter the password of the {{{ .premium }}} instance.

Leave **Enable SSL** off.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🔎 Supported by static analysis

🤖 get_repo_knowledge executed:

get_repo_knowledge pingcap/docs /tmp/coderabbit-repo-knowledge/pingcap-docs-9c73f70c/conventions /tmp/coderabbit-repo-knowledge/pingcap-docs-9c73f70c/learnings

Length of output: 4452


🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- target document ---'
cat -n develop/dev-guide-gui-beekeeper-studio.md | sed -n '1,125p'
printf '%s\n' '--- repository status and focused diff ---'
git status --short
git diff -- develop/dev-guide-gui-beekeeper-studio.md
printf '%s\n' '--- nearby documentation security terminology ---'
rg -n -C 2 'Enable SSL|CA Cert|certificate|TLS|Public|Premium' develop docs 2>/dev/null | head -n 160

Repository: pingcap/docs

Length of output: 26015


Enable SSL for the public Premium connection.

Step 6 selects Public, but this instruction disables TLS. A successful connection can send credentials and database traffic without encryption. Enable SSL and configure the TiDB Cloud CA certificate to verify the server.

Proposed replacement
-    Leave **Enable SSL** off.
+    Turn on **Enable SSL**. To verify the server certificate, download the CA certificate from the TiDB Cloud connection dialog and select it in the **CA Cert (optional)** field.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Leave **Enable SSL** off.
Turn on **Enable SSL**. To verify the server certificate, download the CA certificate from the TiDB Cloud connection dialog and select it in the **CA Cert (optional)** field.


8. Click **Test** to validate the connection to the {{{ .premium }}} instance.

9. If the connection test succeeds, click **Connect** to save the connection and start using it.

</div>
<div label="TiDB Cloud Dedicated">

1. Navigate to the [**My TiDB**](https://tidbcloud.com/tidbs) page, and then click the name of your target TiDB Cloud Dedicated cluster to go to its overview page.

2. Click **Connect** in the upper-right corner. A connection dialog is displayed.

3. In the connection dialog, select **Public** from the **Connection Type** drop-down list.

If you have not configured the IP access list, click **Configure IP Access List** or follow the steps in [Configure an IP Access List](https://docs.pingcap.com/tidbcloud/configure-ip-access-list) to configure it before your first connection.

In addition to the **Public** connection type, TiDB Cloud Dedicated supports **Private Endpoint** and **VPC Peering** connection types. For more information, see [Connect to Your TiDB Cloud Dedicated Cluster](https://docs.pingcap.com/tidbcloud/connect-to-tidb-cluster).

4. Launch Beekeeper Studio. On the connections screen, click **New Connection**, select **TiDB** from the **Connection Type** list, and fill in the connection form: copy and paste the **Host**, **Port**, and **Username** from the TiDB Cloud connection dialog, and enter the password of the TiDB Cloud Dedicated cluster.

![Beekeeper Studio: configure a TiDB connection](/media/develop/beekeeper-studio-connection-settings.png)

5. Turn on the **Enable SSL** toggle. Beekeeper Studio trusts the server's certificate by default, so providing a CA certificate is optional — if you want to verify against the CA certificate for your cluster, click **CA cert** in the TiDB Cloud connection dialog to download it, and select the downloaded file in the **CA Cert (optional)** field.

Check failure on line 111 in develop/dev-guide-gui-beekeeper-studio.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [PingCAP.EmDash] Don't put a space before or after a dash. Raw Output: {"message":"[PingCAP.EmDash] Don't put a space before or after a dash.","location":{"path":"develop/dev-guide-gui-beekeeper-studio.md","range":{"start":{"line":111,"column":141},"end":{"line":111,"column":146}}},"severity":"ERROR","code":{"value":"PingCAP.EmDash","url":"https://developers.google.com/style/dashes"}}

6. Click **Test** to validate the connection to the TiDB Cloud Dedicated cluster.

7. If the connection test succeeds, click **Connect** to save the connection and start using it.

</div>
<div label="TiDB Self-Managed" value="tidb">

1. Launch Beekeeper Studio. On the connections screen, click **New Connection**, select **TiDB** from the **Connection Type** list, and configure the following connection parameters:

- **Host**: the IP address or domain name of your TiDB Self-Managed cluster.
- **Port**: the port number of your TiDB Self-Managed cluster.
- **User**: the username to use to connect to your TiDB Self-Managed cluster.
- **Password**: the password of the username.

![Beekeeper Studio: configure connection settings for TiDB Self-Managed](/media/develop/beekeeper-studio-connection-settings-self-hosted.png)

2. Click **Test** to validate the connection to the TiDB Self-Managed cluster.

3. If the connection test succeeds, click **Connect** to save the connection and start using it.

</div>
</SimpleTab>

## Next steps

- Learn more usage of Beekeeper Studio from [the Beekeeper Studio documentation](https://docs.beekeeperstudio.io/).
- Learn the best practices for TiDB application development with the chapters in the [Developer guide](https://docs.pingcap.com/developer/), such as [Insert data](/develop/dev-guide-insert-data.md), [Update data](/develop/dev-guide-update-data.md), [Delete data](/develop/dev-guide-delete-data.md), [Single table reading](/develop/dev-guide-get-data-from-single-table.md), [Transactions](/develop/dev-guide-transaction-overview.md), and [SQL performance optimization](/develop/dev-guide-optimize-sql-overview.md).
- Learn through the professional [TiDB developer courses](https://www.pingcap.com/education/) and earn [TiDB certifications](https://www.pingcap.com/education/certification/) after passing the exam.

## Need help?

- Ask the community on [Discord](https://discord.gg/DQZ2dy3cuc?utm_source=doc) or [Slack](https://slack.tidb.io/invite?team=tidb-community&channel=everyone&ref=pingcap-docs).
- [Submit a support ticket for TiDB Cloud](https://tidb.support.pingcap.com/servicedesk/customer/portals)
- [Submit a support ticket for TiDB Self-Managed](/support.md)
2 changes: 1 addition & 1 deletion develop/dev-guide-third-party-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ If you encounter problems when connecting to TiDB using the tools listed in this

| GUI | Latest tested version | Support level | Tutorial |
|-----------------------------------------------------------|-----------------------|---------------|--------------------------------------------------------------------------------------|
| [Beekeeper Studio](https://www.beekeeperstudio.io/) | 4.3.0 | Full | N/A |
| [Beekeeper Studio](https://www.beekeeperstudio.io/) | 4.3.0 | Full | [Connect to TiDB with Beekeeper Studio](/develop/dev-guide-gui-beekeeper-studio.md) |
| [JetBrains DataGrip](https://www.jetbrains.com/datagrip/) | 2023.2.1 | Full | [Connect to TiDB with JetBrains DataGrip](/develop/dev-guide-gui-datagrip.md) |
| [DBeaver](https://dbeaver.io/) | 23.0.3 | Full | [Connect to TiDB with DBeaver](/develop/dev-guide-gui-dbeaver.md) |
| [Visual Studio Code](https://code.visualstudio.com/) | 1.72.0 | Full | [Connect to TiDB with Visual Studio Code](/develop/dev-guide-gui-vscode-sqltools.md) |
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading