This article describes how to use the data connector for MySQL, which allows you to directly import data from MySQL to Treasure Data.

For sample workflows on importing data from MySQL, view Treasure Boxes.

This topic contains:


  • Basic knowledge of Treasure Data

  • Basic knowledge of MySQL

  • A MySQL instance running remotely, for example on Amazon RDS.

Create a New Authentication

When you configure a data connection, you provide authentication to access the integration. In Treasure Data, you configure the authentication and then specify the source information.

  1. Open TD Console.

  2. Navigate to Integrations HubCatalog

  3. Search for and select MySQL.

  4. Select Create

  5. The following dialog opens.

  6. Set the following parameters. Select Continue.




The host information of the remote database, eg. an IP address.


The connection port on the remote instance,MySQL default is 3306.


Username to connect to the remote database.


Password to connect to the remote database.

SSL Mode

Learn more about SSL mode


Learn more about useLegacyDatetimeCode


JDBC Connection options

Any special JDBC connections required by remote database.

Socket connection timeout

Timeout (in seconds) for socket connection (default is 300).

Network timeout

Timeout (in seconds) for network socket operations. 0 means no timeout.

Name Your Connection

  1. Type a name for your connection.

  2. Select Done.

Transfer Your MySQL Account Data to Treasure Data

After creating the authenticated connection, you are automatically taken to Authentications.

  1. Search for the connection you created. 

  2. Select New Source.


  1. Type a name for your Source in the Data Transfer field. 

Source Table

Provide the details of the database and table you would like to ingest data from.

  1. Select Next

  2. Edit the following parameters.



Database name

The name of the database you are transferring data from. (Ex. your_database_name)

Use custom SELECT query?

Use if you need more than a simple SELECT (columns) FROM table WHERE (condition).

 SELECT columns

 If there are only specific columns you would like to pull data from, list them here. Otherwise all columns will be transferred.


 The table from which you would like to import the data.

WHERE condition

If you need additional specificity on the data retrieved from the table you can specify it here as you would as part of WHERE clause.

Data Settings

  1. Select Next.
    The Data Settings page opens.

  2. Optionally, edit the data settings or skip this page of the dialog.




In cases where you repeatedly run this transfer, this checkbox will allow you to only import data since the last time the import was run.

Rows per batch

Extremely large datasets can lead to memory issues and subsequently failed jobs. This flag allows you to breakdown the import job into batches by a number of rows to reduce the chances of memory issues and failed jobs.

Default timezone

The timezone to be used when doing the import. Default is UTC however, you can change this if needed.


This SQL will be executed after the SELECT query in the same transaction.

Column Options

If you need to modify the type of column before importing it, select this option and the relevant column details. Select Save to save any advanced setting you have entered.

Data Preview

You can see a preview of your data before running the import by selecting Generate Preview.

Data shown in the data preview is approximated from your source. It is not the actual data that is imported.

  1. Click Next.
    Data preview is optional and you can safely skip to the next page of the dialog if you want.

  2. To preview your data, select Generate Preview. Optionally, click Next

  3. Verify that the data looks approximately like you expect it to.

  4. Select Next.

Data Placement

For data placement, select the target database and table where you want your data placed and indicate how often the import should run.

  1.  Select Next. Under Storage you will create a new or select an existing database and create a new or select an existing table for where you want to place the imported data.

  2. Select a Database > Select an existing or Create New Database.

  3. Optionally, type a database name.

  4. Select a Table> Select an existing or Create New Table.

  5. Optionally, type a table name.

  6. Choose the method for importing the data.

    • Append (default)-Data import results are appended to the table.
      If the table does not exist, it will be created.

    • Always Replace-Replaces the entire content of an existing table with the result output of the query. If the table does not exist, a new table is created. 

    • Replace on New Data-Only replace the entire content of an existing table with the result output when there is new data.

  7. Select the Timestamp-based Partition Key column.
    If you want to set a different partition key seed than the default key, you can specify the long or timestamp column as the partitioning time. As a default time column, it uses upload_time with the add_time filter.

  8. Select the Timezone for your data storage.

  9. Under Schedule, you can choose when and how often you want to run this query.

    • Run once:
      1. Select Off.

      2. Select Scheduling Timezone.

      3. Select Create & Run Now.

    • Repeat the query:

      1. Select On.

      2. Select the Schedule. The UI provides these four options: @hourly, @daily and @monthly or custom cron.

      3. You can also select Delay Transfer and add a delay of execution time.

      4. Select Scheduling Timezone.

      5. Select Create & Run Now.

 After your transfer has run, you can see the results of your transfer in Data Workbench > Databases.

  • No labels