MySQL
Overview
MySQL is an open-source relational database management system (RDBMS) known for its reliability, performance, and ease of use. It is widely used for a variety of applications, from small to large enterprise projects, supporting structured data storage, retrieval, and management with SQL queries. MySQL offers a comprehensive ecosystem with support for advanced features such as replication, transactions, and full-text indexing, making it a versatile choice for integrating with BI tools. Rill supports natively connecting to and reading from MySQL as a source by using the Go MySQL Driver.
When connecting to MySQL, an appropriate Data Source Name (DSN) must be specified in the connector's configuration using the following syntax:
<username>:<password>@<protocol>(<hostname>:<port>)/<database_name>
- username and password should correspond to the user that Rill will use to connect to MySQL
- protocol will typically be tcp (unless otherwise specified)
- hostname and port should correspond to the respective IP address/hostname and port (default 3306) of your MySQL database
- database_name should correspond to the database in MySQL that you are using

Local credentials
When using Rill Developer on your local machine, you will need to provide your credentials via a connector file. We would recommend not using plain text to create your file and instead use the .env
file. For more details on your connector, see connector YAML for more details.
If you've already deployed to Rill Cloud, you can either push/pull the credential from the CLI with:
rill env push
rill env pull
Separating Dev and Prod Environments
When ingesting data locally, consider setting parameters in your connector file to limit how much data is retrieved, since costs can scale with the data source. This also helps other developers clone the project and iterate quickly by reducing ingestion time.
For more details, see our Dev/Prod setup docs.
Cloud deployment
Once a project with a MySQL source has been deployed, Rill requires you to explicitly provide the connection string using the following command:
rill env configure