Pull from MySQL
The Pull from MySQL step connects to and pulls data from a remote MySQL server. MySQL is an open-source relational database management system developed by Oracle.
Connect your MySQL server
Double-click on the Pull from MySQL step and click Authorize. These are the following fields required to connect:
- Hostname
- Username
- Password
- Database
- Port (Optional)
You should be able to find these fields by viewing your MySQL profile.
If no port is specified during authorization, this step will default to port 3306.
You can leave fields blank (like "Password") if they are not needed for the database to authorize connection.
Custom settings
Once you are successfully connected to your server, you'll first see a dropdown option to select a table from your server. By default, Parabola pulls the whole table using the query: select *.
If you'd like to be able to pull in more specific, relevant data, or reduce the size of your default import, you can do so by writing your own SQL statement to filter your table's data.
To do so, click into the step's Advanced Settings and input your query into the Query (optional) field.
Related Recipes
Send to MySQL
The Send to MySQL step can insert and update rows in a remote MySQL database. MySQL is an open-source relational database management system developed by Oracle.
Connect your MySQL server
Double-click on the Send to MySQL step and click on the blue button to Authorize. These are the following fields required to connect. You should be able to find these fields by viewing your MySQL profile.
If no port is specified during authorization, this step will default to port 3306.
You can leave fields blank (like password) if they are not needed for the database to authorize connection.
Custom settings
Once you are successfully connected to your server, you'll first see a dropdown option to select the table you'd like to send data to.
Maximum Connections
By default, this field is set to 20, which should be safe for most databases. This setting controls how many connections Parabola generates to your database in order to write your changes faster. The number of rows you are trying to export will be divided across the connections pool, allowing for concurrent and fast updates.
Be aware, every database has its own maximum number of connections that it will accept. It is not advisable to set the Maximum Connections field in Parabola to the same number of connections that your database max is set at. If you do that, you will be using every connection when the flow runs, and nothing else will be able to connect to your database. 50% - 60% of the total available connections is as high as you should go. Talk to the whoever runs, manages, or set up your database to find out how many connections it can handle.
If you set this field to less than 1 or more than the total number allowed by your database, the step will error.
Operations
Next, you'll select an Operation. The available Operation options are:
- Insert: Inserts new rows in the database
- Upsert: Updates rows if possible, and inserts new rows if not
- Update: Only updates rows
Insert
The Insert option will insert new rows in the database. Once you select the "Insert" operation, you'll be asked to map your columns in Parabola to columns from your selected MySQL table. You can leave some column mappings blank. If you're using the Insert operation, make sure that it's okay that Parabola create these new rows in your table. For example, you may want to check for possible duplicates.
Upsert
The Upsert option will updates rows if possible, and inserts new rows if not. The Upsert operation requires you to specify the primary key of the database table ("Unique Identifier Column in Database"), or the column that contains unique values in Parabola ("Unique Identifier Column in Results"). Mapping these columns is important so Parabola can use to figure out which rows to update versus insert new rows. A primary key / unique identifier must be configured on the database table in order for this dropdown to show any options.
Then, you need to map your columns in Parabola to columns from your selected MySQL table.
Update
The Update option will only update rows. It will not insert any new rows. The Update operation requires you to specify the primary key of the database table ("Unique Identifier Column in Database"), or the column that contains unique values in Parabola ("Unique Identifier Column in Results"). Mapping these columns is important so Parabola can use to figure out which rows to update. A primary key / unique identifier must be configured on the database table in order for this dropdown to show any options.
Then, you need to map your columns in Parabola to columns from your selected MySQL table.
How this step deals with errors
The Send to MySQL step handles errors in a different way than other steps. When the flow runs, the step attempts to export each row, starting at the top of the table and processing down until every row has been attempted. Most exports in Parabola will halt all execution if a row fails, but this export will not halt. In the event that a row fails to export, this step will log the error, but will skip past the row and continue to attempt all rows. When the step finishes attempting every row, it will either be in a normal (successful) state if every row succeeded, or it will be in a error (failure) state if at least 1 row was skipped due to errors.
Helpful tips
- The Send to MySQL step can only send strings. All values will be sent as a string. If you encounter an error when running the Send to MySQL step, please double-check that the field in MySQL is set to accept string values.
- Null (blank) values will create empty strings - meaning this step will not be able to send null values to your MySQL database
- The names of your columns in Parabola must match the names of the fields in your database. Use a Rename columns step to accomplish this before sending.
- We recommend having all of your columns mapped. Any unmapped columns may cause issues during your export. If you need to remove any unmapped columns, you can utilize the Select Columns step.
- If the step is configured to map a particular column in Parabola to a column in your database, and during the export that column cannot be found or has been renamed, or cannot accept the value being sent, the step will not fail, but will instead skip trying to send that value for that row, and send a modified version of the row.