Skip to main content

MySQL & MariaDB Connections

TablePro supports MySQL 5.7+, MySQL 8.0+, and MariaDB 10.x+. Both databases share compatible protocols and use the same connection interface.

Quick Setup

1

Create Connection

Click New Connection, select MySQL or MariaDB, enter host/port/username/password, and click Create
2

Test and Connect

Click Test Connection to verify

Connection Settings

FieldDefault
Hostlocalhost
Port3306
Usernameroot
DatabaseLeave empty to see all databases (optional)
Open URLs like mysql://user:pass@host/db from your browser to connect directly. See Connection URL Reference for details.
MySQL connection form

Example Configurations

Local: host localhost:3306, user root Docker: host localhost:3306 (or mapped port), password from MYSQL_ROOT_PASSWORD env MAMP Pro: host localhost:8889, user/pass root:root Remote: Use SSH tunneling for production servers

MySQL vs MariaDB

Same driver for both. MySQL 8.0 defaults to caching_sha2_password auth (vs MariaDB’s mysql_native_password). Both support JSON, window functions, and CTEs.

Features

Sidebar shows all accessible databases, tables, structure (columns, indexes, foreign keys), and DDL. Full MySQL syntax support for queries:
-- Select with JSON
SELECT id, JSON_EXTRACT(data, '$.name') as name
FROM users
WHERE JSON_CONTAINS(roles, '"admin"');

-- Window functions
SELECT
    department,
    employee,
    salary,
    RANK() OVER (PARTITION BY department ORDER BY salary DESC) as rank
FROM employees;

-- CTEs
WITH RECURSIVE category_tree AS (
    SELECT id, name, parent_id, 0 as level
    FROM categories WHERE parent_id IS NULL
    UNION ALL
    SELECT c.id, c.name, c.parent_id, ct.level + 1
    FROM categories c
    JOIN category_tree ct ON c.parent_id = ct.id
)
SELECT * FROM category_tree;

Troubleshooting

Connection refused: Check MySQL is running (brew services start mysql), verify correct port/host, ensure skip-networking is not set. Access denied: Verify credentials and user privileges with SHOW GRANTS FOR 'user'@'host'; MySQL 8.0 auth issues: Use native password with ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; or set default_authentication_plugin=mysql_native_password in my.cnf.

SSL/TLS

Configure in SSL/TLS section. Cloud providers (AWS RDS, Google Cloud SQL, Azure) typically require SSL. Use Verify CA with the provider’s certificate. Optionally provide client cert/key for mutual TLS. For unencrypted alternatives, use SSH tunneling.

Performance Tips

Use LIMIT for large tables, enable pagination, create indexes, and use EXPLAIN for slow queries. Set session variables (timezone, encoding) via Startup Commands.