MySQL
What is MySQL?
MySQL is a widely-used open-source relational database management system known for its reliability, performance, and ease of use. It supports a variety of applications, from small-scale projects to large-scale enterprise systems, offering flexibility and robust data management capabilities.
Why Connect MySQL to Monte Carlo?
Integrating Monte Carlo with MySQL allows you to monitor your data assets through custom SQL monitors, metrics, validations and comparisons, which can be created in either the UI wizard and/or programmatically via monitors as code (API/SDK too). These monitors can be used to generate notifications (incidents) to relevant stakeholders and circuit break pipelines.
Connect using SSL
Currently, SSL configuration is only supported via the command-line interface (CLI).
You can find all available options for configuring a MySQL connection in the CLI documentation for the add-mysql command.
Examples of SSL Authentication:
- Server Authentication. To verify the identity of the MySQL server, use the following command add-mysql specifying the CA certificate (
--ssl-ca
). The CA certificate ensures that the server's identity is verified. - Client Authentication. To verify the identity of the client, use the following command add-mysql specifying the CA certificate (
--ssl-ca
), client certificate (--ssl-cert
) and the private key (--ssl-key
).- The client certificate and private key are used to authenticate the client to the server.
- If the private key is password-protected, you must also specify the key's password (
--ssl-key-password
).
Monitor & Lineage Support
Below are the monitors & lineage for the MySQL Integration today. Please reach out to your Monte Carlo representative if you have requirements for additional monitors.
Category | Monitor / Lineage Capabilities | Support |
---|---|---|
Table Monitor | Freshness | |
Table Monitor | Volume | |
Table Monitor | Schema Changes | ✅ |
Metric Monitor | Metric | ✅ |
Metric Monitor | Comparison | ✅ |
Validation Monitor | SQL Custom | ✅ |
Validation Monitor | Validation | ✅ |
Job Monitor | Query performance | |
Lineage | Lineage |
Connecting to MySQL
Now that we know the value connecting MySQL to Monte Carlo can bring, here are the necessary steps to set up the integration.
PrerequisitesTo create a service account, you will need admin credentials to your MySQL database.
This guide explains how to create a read-only service account for Monte Carlo in your MySQL database.
To review all steps necessary to integrate your SQL database with Monte Carlo, please see here.
Create a read-only service account
Please run the SQL snippet below on your MySQL database to create a read-only service account for Monte Carlo
CREATE USER 'montecarlo' IDENTIFIED BY '<PASSWORD>';
/*
Grant access to all tables and views. Repeat for all relevant schemas (databases).
Select permissions are necessary to create custom SQL monitors.
*/
GRANT SELECT, SHOW VIEW ON <SCHEMA>.* TO 'montecarlo';
FLUSH PRIVILEGES;
How can I validate Monte Carlo has access to my assets?
After completing the MySQL integration setup, your MySQL assets should appear in the Monte Carlo Assets page between a few minutes and one hour. If you don't see your assets after this time period, you can run a validation test to troubleshoot the connection:
- Navigate to Settings → Integrations
- Find your MySQL integration and click on it
- Select the specific connection you want to test
- Click the Test button from the connection menu
This validation test will help identify any configuration issues that might be preventing your assets from appearing.
When running the validation test, you should see all green checkmarks. If any errors are encountered, the system will provide specific steps to resolve them.
FAQs
What is the minimum supported version?
Monte Carlo supports MySQL 8.0 and newer.
Are cloud variants of MySQL like AWS RDS, GCP Cloud SQL, and Azure Database supported?
Yes, AWS RDS, GCP Cloud SQL, and Azure Database for MySQL are all supported.
What hosting solutions are supported?
This integration supports any instance that is reachable from one of our hosting options. Please see the networking docs for more detail.
Updated 2 days ago