Skip to main content

Add credentials

  1. Create a new pipeline or open an existing pipeline.
  2. Expand the left side of your screen to view the file browser.
  3. Scroll down and click on a file named io_config.yaml.
  4. Enter the following keys and values under the key named default (you can have multiple profiles, add it under whichever is relevant to you)

Standard connection

SSH tunnel connection

If your MySQL database is in a private network and you need to connect via an SSH bastion host, Mage Pro supports configuring an SSH tunnel directly in io_config.yaml:
  • MYSQL_SSH_HOST: Hostname or IP of the SSH bastion.
  • MYSQL_SSH_PORT: SSH port (default 22).
  • MYSQL_SSH_USERNAME: SSH user to log in as.
  • MYSQL_SSH_PKEY: Path to private key file (preferred).
  • MYSQL_SSH_PASSWORD: Password for SSH user (alternative to key).
⚠️ You only need either MYSQL_SSH_PKEY or MYSQL_SSH_PASSWORD, not both.

Using SQL block

  1. Create a new pipeline or open an existing pipeline.
  2. Add a data loader, transformer, or data exporter block.
  3. Select SQL.
  4. Under the Data provider/Connection dropdown, select Mysql.
  5. Under the Profile dropdown, select default (or the profile you added credentials underneath).
  6. Enter the optional table name of the table to write to.
  7. Under the Write policy dropdown, select Replace or Append (please see SQL blocks guide for more information on write policies).
  8. Enter in this test query: SELECT 1.
  9. Run the block.

Using Python block

Using MySQL connector


Using Mage’s MySQL python blocks

  1. Create a Data Loader block from the MySQL Template
Example snippet:
  1. Create a Data Exporter block from the MySQL Template
Example snippet:
  1. Custom types
To overwrite a column type when running a python export block, simply specify the column name and type in the overwrite_types dict in data exporter config Here is an example code snippet:

Method arguments

Example: Using UPSERT (UPDATE or INSERT)