> For the complete documentation index, see [llms.txt](https://v2.dataos.info/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://v2.dataos.info/consume/activate/mysql-clients/dbeaver.md).

# DBeaver

Query your semantic models from DBeaver using the MySQL driver. The semantic layer already handles joins, aggregations, and transformations, so you write plain SQL against the model.

> **Want to query your data?** See the [Query Guide](/consume/activate/mysql-clients/mysql/query.md) for SQL examples, supported syntax, and tips.

***

## Prerequisites

<table><thead><tr><th width="205.1495361328125">Requirement</th><th>Detail</th></tr></thead><tbody><tr><td><strong>DBeaver</strong></td><td>Community or Pro edition. <a href="https://dbeaver.io/download/">Download DBeaver</a>.</td></tr><tr><td><strong>MySQL driver</strong></td><td>Driver for MySQL 8 or later. DBeaver prompts you to download it the first time you connect (Step 2).</td></tr><tr><td><strong>DataOS username</strong></td><td>Your DataOS ID. Used as the connection username.</td></tr><tr><td><strong>DataOS API key</strong></td><td>Your DataOS API token. Used as the password. Get it from <strong>Data Product Hub → Profile icon → your name → Tokens</strong>.</td></tr></tbody></table>

***

In the data product, go to **Activate → Database Client** and open the **DBeaver** guide. Starting there means you copy exact connection values instead of guessing: the in-product guide lists the one-time setup and the precise Server Host, Port, Database, Username, and Password for the selected data product.

![In-product DBeaver setup page showing the one-time setup and connection values](/files/lhcK54qHxdFFwN4GhfZI)

## 1. Create the connection

1. In DBeaver, create a new connection: **Ctrl+Shift+N** (or **Database → New Database Connection**).
2. Pick **MySQL** (use **MySQL 8 or later**) and click **Next**.
3. Keep **Connect by: Host** selected and fill in the **Main** tab:

<table><thead><tr><th width="180.02716064453125">Field</th><th>Value</th></tr></thead><tbody><tr><td><strong>Server Host</strong></td><td><code>&#x3C;DATAOS_TCP_HOST></code></td></tr><tr><td><strong>Port</strong></td><td><code>3306</code></td></tr><tr><td><strong>Database</strong></td><td><code>&#x3C;tenant>.&#x3C;data-product-name></code></td></tr><tr><td><strong>Username</strong></td><td>Your DataOS username</td></tr><tr><td><strong>Password</strong></td><td>Your DataOS API key</td></tr></tbody></table>

Example:

<table><thead><tr><th width="162.7047119140625">Field</th><th>Value</th></tr></thead><tbody><tr><td><strong>Server Host</strong></td><td><code>tcp.pacific-051426.dataos.cloud</code></td></tr><tr><td><strong>Port</strong></td><td><code>3306</code></td></tr><tr><td><strong>Database</strong></td><td><code>product-sandbox.powerbi-pg</code></td></tr><tr><td><strong>Username</strong></td><td><code>kanakguptatmdcio</code></td></tr><tr><td><strong>Password</strong></td><td><code>&#x3C;your-api-key></code></td></tr></tbody></table>

***

## 2. Download the MySQL driver (first time only)

If this is your first time connecting, DBeaver needs the MySQL driver.

1. After filling in credentials, click **Test Connection**.
2. DBeaver prompts: *"You are about to download files for Driver for MySQL 8 and later."* Click **Download** and wait.
3. If the driver is already installed, confirm the JAR file is present under **Driver Settings → Libraries**. Click **Download** there to add it if it's missing.

***

## 3. Enable SSL

1. In the connection settings, click the **SSH, SSL, …** dropdown on the right and open the **SSL** tab.
2. Under **Advanced**, check **Require SSL**.
3. Leave certificate fields (CA Certificate, Client Certificate, Client Private Key) empty unless your environment requires client certificates.

***

## 4. Test and finish

1. Click **Test Connection** again.
2. When it passes, click **Finish**.

***

## 5. Query your semantic models

Once connected, the database and its tables (your semantic models) appear in the **Database Navigator** on the left.

* Expand the connection to browse semantic models as tables.
* Open a **SQL Editor** (`Ctrl+]` or **SQL Editor → Open SQL Editor**) and write queries.

See the [Query Guide](/consume/activate/mysql-clients/mysql/query.md) for SQL examples, supported syntax, and tips.

***

## Troubleshooting

<table><thead><tr><th width="203.576171875">Symptom</th><th>Fix</th></tr></thead><tbody><tr><td><code>Access denied</code></td><td>API token is wrong or expired. Get a fresh one from the Tokens tab and retry.</td></tr><tr><td><code>Unknown database</code></td><td>The <code>&#x3C;tenant>.&#x3C;data-product-name></code> value is off. Copy the exact name from the data product page.</td></tr><tr><td>Driver not found on test</td><td>Click <strong>Download</strong> when DBeaver prompts. Or add the JAR manually via <strong>Driver Settings → Libraries</strong>.</td></tr><tr><td>SSL handshake error (<code>mysql_clear_password</code>)</td><td>Confirm <strong>Require SSL</strong> is enabled. Leave certificate fields empty unless required.</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://v2.dataos.info/consume/activate/mysql-clients/dbeaver.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
