MySQL
About
MySQL is a relational database management system (RDBMS) that stores and manages data. It’s a popular choice for developers because of its reliability, performance, and ease of use.
Available Tools
mysql-sql
Execute pre-defined prepared SQL queries in MySQL.mysql-execute-sql
Run parameterized SQL queries in MySQL.mysql-list-active-queries
List active queries in MySQL.mysql-list-tables
List tables in a MySQL database.mysql-list-tables-missing-unique-indexes
List tables in a MySQL database that do not have primary or unique indices.mysql-list-table-fragmentation
List table fragmentation in MySQL tables.
Requirements
Database User
This source only uses standard authentication. You will need to create a MySQL user to login to the database with.
Example
sources: my-mysql-source: kind: mysql host: 127.0.0.1 port: 3306 database: my_db user: ${USER_NAME} password: ${PASSWORD} # Optional TLS and other driver parameters. For example, enable preferred TLS: # queryParams: # tls: preferred queryTimeout: 30s # Optional: query timeout duration
Tip
Use environment variable replacement with the format ${ENV_NAME} instead of hardcoding your secrets into the configuration file.
Reference
field | type | required | description |
---|---|---|---|
kind | string | true | Must be “mysql”. |
host | string | true | IP address to connect to (e.g. “127.0.0.1”). |
port | string | true | Port to connect to (e.g. “3306”). |
database | string | true | Name of the MySQL database to connect to (e.g. “my_db”). |
user | string | true | Name of the MySQL user to connect as (e.g. “my-mysql-user”). |
password | string | true | Password of the MySQL user (e.g. “my-password”). |
queryTimeout | string | false | Maximum time to wait for query execution (e.g. “30s”, “2m”). By default, no timeout is applied. |
queryParams | map<string,string> | false | Arbitrary DSN parameters passed to the driver (e.g. tls: preferred , charset: utf8mb4 ). Useful for enabling TLS or other connection options. |