Documentation
MySQL
Connect TableR to any MySQL server — or bootstrap one locally — with connection fields, connection strings, SSL/TLS, and troubleshooting.
MySQL is a network SQL engine and the engine TableR selects by default for a new connection. Point TableR at an existing server by filling the connection form, or let TableR start a local MySQL for you with the built-in bootstrap when you do not have a server yet.
You do not need to install MySQL to try it. Choose MySQL in the launcher and use Local bootstrap — TableR creates and starts a local server, and keeps its secrets in the OS keyring.
Overview
TableR speaks the native MySQL wire protocol, so it works with a local install, a container, a managed service (RDS, Cloud SQL, Azure Database for MySQL, PlanetScale, and similar), or a bootstrapped local server. Because these are all MySQL, the same connection fields below apply everywhere; only the values change.
- Local development — connect to 127.0.0.1:3306, or bootstrap a local server.
- Remote / managed — use the provider endpoint and enable SSL/TLS.
- MySQL-compatible engines — MariaDB uses the same wire protocol and identical fields.
Before you start
- A reachable MySQL server (host and port), or use Local bootstrap instead.
- A database user name — this is required.
- The user's password, if the server requires one.
- Optionally, the specific database (schema) to open on connect.
- For remote servers: network access to the port and, usually, SSL/TLS enabled.
Connection fields
These defaults match TableR's MySQL connection form. Secrets are written to the operating system keyring, never to plain configuration files.
| Field | Required | Default | Notes |
|---|---|---|---|
| Host | Yes | 127.0.0.1 | Hostname or IP of the server. Use the provider endpoint for managed databases. |
| Port | Yes | 3306 | MySQL's default port. Change it only if your server listens elsewhere. |
| Username | Yes | — | The user used to authenticate. |
| Password | No | — | Optional; stored in the OS keyring. Leave empty for socket/no-password auth. |
| Database | No | — | Optional. When empty, no schema is selected until you choose one. |
| SSL/TLS | No | Off | Enable for remote servers; many managed providers require it. |
Connect with the form
- 1Choose MySQL
Open the launcher and pick the MySQL card — it is the default selection.
- 2Enter host and port
Use 127.0.0.1 and 3306 for a local server, or your provider's endpoint for a remote one.
- 3Add credentials
Type the username, and the password if required. The password is saved to the OS keyring.
- 4Pick a database (optional)
Set a database to open it directly, or leave it blank and choose one after connecting.
- 5Enable SSL/TLS for remote
Turn on SSL/TLS when connecting to a remote or managed server.
- 6Save and connect
Save the profile so it reappears in the launcher, then connect.
Use a connection string
Instead of filling every field, you can paste a MySQL connection URI.
mysql://username:password@host:3306/database?ssl-mode=REQUIRED- Omit the password from the URI and let TableR store it in the keyring instead.
- Append ssl-mode=REQUIRED (or VERIFY_IDENTITY) for remote servers.
- URL-encode special characters in the password (for example @ becomes %40).
Local bootstrap
If you do not have a server, TableR can start a local MySQL for you — no separate install required.
- 1Select MySQL
Pick MySQL in the launcher.
- 2Choose Local bootstrap
TableR provisions and starts a local server on your machine.
- 3Start querying
A connection is created for you; open a SQL tab and run a query.
Bootstrapped credentials, like all connection secrets, are kept in the OS keyring rather than in the interface or configuration files.
SSL/TLS
Local servers on 127.0.0.1 usually need no encryption. For anything over a network, enable SSL/TLS. If you connect with a URI, control the behaviour with the ssl-mode parameter.
- DISABLED — no encryption (local only).
- REQUIRED — encrypt, but do not verify the server certificate.
- VERIFY_CA / VERIFY_IDENTITY — encrypt and verify the certificate (most secure).
Verify the connection
Once connected, open a SQL tab and run a quick check:
SELECT VERSION();
SELECT DATABASE(), CURRENT_USER();If both statements return rows, the connection and credentials are working.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Can't connect to MySQL server | Server not running, wrong host/port, or a firewall. | Confirm the server is up and the port is reachable; re-check host and port. |
| Access denied for user | Wrong username or password, or the user lacks host access. | Re-check the credentials and update the saved password (it lives in the keyring). |
| SSL connection error | The server requires TLS, or the certificate is not trusted. | Enable SSL/TLS, or add ssl-mode=REQUIRED to the connection string. |
| Unknown database 'name' | The Database field names a schema that is missing. | Leave Database empty, or enter one that exists. |
| Too many connections | The server hit its connection limit. | Close idle connections, or raise max_connections on the server. |