Skip to main content

MySQL Data Connector

Federated SQL query​

To connect to any MySQL database as connector for federated SQL query, specify mysql as the selector in the from value for the dataset.

datasets:
- from: mysql:path.to.my_dataset
name: my_dataset

Configuration​

The MySQL data connector can be configured by providing the following params:

  • mysql_connection_string: The connection string to use to connect to the MySQL server. This can be used instead of providing individual connection parameters.
  • mysql_connection_string_key: The secret key containing the connection string to use to connect to the MySQL server. This can be used instead of providing individual connection parameters.
  • mysql_host: The hostname of the MySQL server.
  • mysql_tcp_port: The port of the MySQL server.
  • mysql_db: The name of the database to connect to.
  • mysql_user: The username to connect with.
  • mysql_pass_key: The secret key containing the password to connect with.
  • mysql_pass: The raw password to connect with, ignored if mysql_pass_key is provided.
  • mysql_sslmode: Optional parameter, specifies the SSL/TLS behavior for the connection, supported values:
    • required: (default) This mode requires an SSL connection. If a secure connection cannot be established, server will not connect.
    • preferred: This mode will try to establish a secure SSL connection if possible, but will connect insecurely if the server does not support SSL.
    • disabled: This mode will not attempt to use an SSL connection, even if the server supports it.
  • mysql_sslrootcert: Optional parameter specifying the path to a custom PEM certificate that the connector will trust.

Configuration params are provided either in the top level dataset for a dataset source and federated SQL query.

datasets:
- from: mysql:path.to.my_dataset
name: my_dataset
params:
mysql_host: localhost
mysql_tcp_port: 3306
mysql_db: my_database
mysql_user: my_user
mysql_pass_key: my_secret
datasets:
- from: mysql:path.to.my_dataset
name: my_dataset
params:
mysql_host: localhost
mysql_tcp_port: 3306
mysql_db: my_database
mysql_user: my_user
mysql_pass_key: my_secret
mysql_sslmode: preferred
mysql_sslrootcert: ./custom_cert.pem