Skip to main content
MySQL is an open-source relational database, and the connector binds a single table in a customer-managed MySQL or MariaDB database to an Adriel data source. SQL is generated automatically from each widget’s configuration and routed through Adriel’s database proxy, so transactional tables, application logs, and custom analytics tables appear in dashboards alongside marketing data.

Before you connect

The following are required:
  • A reachable MySQL or MariaDB deployment (self-hosted, AWS RDS, Cloud SQL, or equivalent).
  • A read-only database user with SELECT rights on the target tables. The connector only reads, so no write privileges are needed.
  • A host pattern on that user that accepts connections from Adriel’s proxy. MySQL grants are scoped to the part after the @ in a user definition, so a user must be defined with a pattern such as 'reporting'@'%' (or one that matches 52.79.160.224), not 'reporting'@'localhost'.
  • Firewall or security-group rules that allow inbound TCP from Adriel’s egress address, 52.79.160.224, to the database port (typically 3306).
  • Connection details to enter in the form: host, port, database name, username, and password.
A typical statement to create the read-only user looks like this:

Connect MySQL

1

Open the MySQL connector

On the Data Sources page, search for MySQL and select it.
2

Enter the connection details

Fill in the fields for the target database. The same connector serves MariaDB.
3

Select the table and submit

Choose the table to bind as the data source, then click Submit. One Adriel data source binds to exactly one table; to combine tables, pre-join them into a MySQL view and bind the view. Initial data availability can take up to one business day.

What gets imported

Each widget load compiles into a single SELECT against the bound table, with a WHERE derived from widget filters and a GROUP BY from breakdowns. Numeric columns aggregate into metrics, while text, date, and other columns surface as breakdowns. For the complete metric list, column type mapping, filter-operator coverage, caching, and limits, see the MySQL data reference.

Troubleshooting

The configured user does not exist, has the wrong password, or its host pattern does not match Adriel’s egress address. Recreate the user, update the password, or widen the host pattern to include 52.79.160.224 (for example 'reporting'@'%').
MySQL 8 defaults new users to the caching_sha2_password authentication plugin, which the connector cannot negotiate. Alter the user to use mysql_native_password instead:
MariaDB is wire-protocol compatible and is not affected by this MySQL 8 default.
The database is unreachable from Adriel’s egress address, or the TLS settings disagree. Open the firewall to 52.79.160.224, verify the host and port, and confirm any SSL setting matches the server configuration.
Widget filters on MySQL data sources support the IN operator (and its negation) only. For richer filtering (LIKE, numeric or date ranges, regular expressions), define a MySQL view that applies the predicate and bind the view as the data source.

MySQL data reference

Query model, field type mapping, caching, and limits for the MySQL data source.

MySQL FAQs

Common questions, IP whitelisting, and expected behaviors for the MySQL data source.

How to connect MongoDB

Connect a MongoDB database with a form-driven column pre-filter.

How to connect Postgres

Connect a PostgreSQL database with a richer filter-operator set.

How to connect Redshift

Connect an Amazon Redshift data warehouse.