# Embulk Bulk Import From MySQL This article explains how to import data from MySQL database to Treasure Data using embulk-input-mysql input plugin. ## Prerequisites - Basic knowledge of Treasure Data. - Basic knowledge of [Embulk](http://www.embulk.org/docs/). - Embulk is a Java application. Make sure that Java is installed. - Follow the instructions in [Installing Bulk Data Import](https://docs.treasuredata.com/smart/project-product-documentation/installing-bulk-data-import). - [Embulk and embulk-output-td plugin](http://www.embulk.org/docs/) installed on your machine. ## Install embulk-input-mysql Plugin To install embulk-input-mysql plugin, run the following command: ```bash embulk gem install embulk-input-mysql ``` ## Create a Seed Configuration File Using your favorite text editor, create Embulk config file (for eg:seed.yml) defining input(MySQL) and output(TD) parameters. Example: ```yaml in: type: mysql host: localhost port: 3306 user: username password: password database: mysql_db table: my_table select: 'col1, col2, datecolumn' where: col4 != 'a' out: type: td apikey: xxxxxxxxxxxx endpoint: api.treasuredata.com database: dbname table: tblname time_column: datecolumn mode: replace default_timestamp_format: '%d/%m/%Y' ``` For further details about additional parameters and other examples are available, refer [Embulk Input MySQL](https://github.com/embulk/embulk-input-jdbc/tree/master/embulk-input-mysql). ## Guess Fields (Generate load.yml) Embulk guess option uses `seed.yml` to read the target file and automatically guesses the column types/settings and creates a new file `load.yml` with this information. ```bash embulk guess seed.yml -o load.yml ``` You can preview the data using `embulk preview load.yml` command. If any of the column types or data seems incorrect you may edit `load.yml` file directly and preview again to verify. If `guess` option doesn’t yield satisfactory results, you may change parameters in `load.yml` according to your requirement. # Execute Load Job Issue the import job by running the following command: ```bash embulk run load.yml ``` It may take few mins to hours for the job to complete, depending on the size of the data.