MySQLComing soon
Connect MySQL or MariaDB over Chartizer Cloud or a local agent.
The MySQL connector reads tables and views from MySQL 8.0+ and MariaDB 10.5+, including managed services such as RDS, Cloud SQL, PlanetScale, and Aurora.
Not available yet
The MySQL connector is in development. This page describes how it will work so you can prepare — the read-only user and TLS setup below are worth doing in advance, since they are the parts that usually need a DBA.
Connect PostgreSQL today, or export to CSV / Excel in the meantime.
Choose a runtime
Cloud
Chartizer Cloud connects directly. Fastest to set up; your server must accept connections from Chartizer’s IP range.
Local agent
Queries execute inside your network and credentials never leave it. Required for servers on
localhost or in a private VPC.
Connection details
| Field | Required | Notes |
|---|---|---|
| Connection Name | yes | Display name in the catalogue |
| Host | yes | Hostname or IP. localhost only works with an agent |
| Port | yes | Defaults to 3306 |
| User | yes | Use a dedicated read-only user |
| Password | yes | Stored encrypted; never shown again |
| Database | yes | One schema per source |
Use a read-only user
Never connect as root. Create a user that can SELECT and nothing else.
CREATE USER 'chartizer'@'%' IDENTIFIED BY 'use-a-generated-secret';
GRANT SELECT ON analytics.* TO 'chartizer'@'%';
GRANT SHOW VIEW ON analytics.* TO 'chartizer'@'%';
FLUSH PRIVILEGES;
SHOW VIEW is what lets Chartizer introspect view definitions. Without it, views are invisible
even though tables list correctly.
TLS
Chartizer refuses plaintext connections. Managed providers enable TLS by default; for self-hosted servers set it explicitly:
[mysqld]
require_secure_transport = ON
ssl_cert = /etc/mysql/server-cert.pem
ssl_key = /etc/mysql/server-key.pem
Types worth knowing
| MySQL type | Becomes | Note |
|---|---|---|
TINYINT(1) |
boolean | MySQL’s de facto boolean |
DATETIME |
timestamp | No timezone — read as team timezone |
TIMESTAMP |
timestamp | Converted from UTC |
DECIMAL |
decimal | Precision preserved |
JSON |
text | Flattened only by the JSON connector |
ENUM |
text |
DATETIME carries no timezone
DATETIME columns are interpreted in the team timezone. If your application writes UTC into
DATETIME, set the team timezone to UTC or charts will be shifted by your offset.
Verify before you connect
mysql --host=db.internal --port=3306 --user=chartizer --password \
--ssl-mode=REQUIRED --execute="select version();" analytics
If that fails, Chartizer will fail identically — fix it at the server first.
Troubleshooting
Access denied for user
The user exists but the host pattern does not match the connecting address. 'chartizer'@'localhost'
will not accept a remote connection — grant to 'chartizer'@'%' or the specific address.
Tables list but views do not
Missing SHOW VIEW. Re-run the grant above.
Connection timed out
Not reachable from Chartizer Cloud. Check the security group, confirm the host resolves publicly, or switch to a local agent.
Numbers arrive as text
The column is DECIMAL stored in a string-typed context, or the driver returned it unparsed. Set
the field type explicitly on the dataset.