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 a read-only user
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:

my.cnf
[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

Bash
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.