Skip to content

Commit

Permalink
TDL-24622 add mysql guides
Browse files Browse the repository at this point in the history
  • Loading branch information
Lucie Milan committed Dec 14, 2023
1 parent 449e6ae commit 87175e4
Show file tree
Hide file tree
Showing 4 changed files with 486 additions and 2 deletions.
8 changes: 6 additions & 2 deletions _data/destinations/mysql/user-privileges.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,15 @@ grant-permissions-to-user: &grant-permissions-sql |

## The individual steps for creating a MySQL user for Stitch.

mysql:
mysql: &mysql-steps
- copy: "If you haven't already, connect to your {{ page.display_name }} instance using your SQL client."
- copy: |
Run the following commands to create a login and a user named `stitch`. Replace `<STRONG_PASSWORD_HERE>` with a strong password.:
command: *create-user-sql
- copy: |
Run the following command to grant the required privileges to the Stitch user:
command: *grant-permissions-sql
command: *grant-permissions-sql
amazon-aurora-mysql: *mysql-steps
amazon-rds-mysql: *mysql-steps
mariadb-mysql: *mysql-steps
160 changes: 160 additions & 0 deletions _destinations/mysql/guides/connecting-amazon-aurora-mysql.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
---
# -------------------------- #
# USING THIS TEMPLATE #
# -------------------------- #

## NEED HELP USING THIS TEMPLATE? SEE:
## https://docs-about-stitch-docs.netlify.com/reference/destination-templates/destination-setup/
## FOR INSTRUCTIONS & REFERENCE INFO


# -------------------------- #
# Page formatting & Controls #
# -------------------------- #

title: Connecting an Amazon Aurora MySQL Destination to Stitch
permalink: /destinations/mysql/connecting-an-amazon-aurora-mysql-destination-to-stitch

keywords: amazon aurora mysql, amazon aurora mysql data warehouse, amazon aurora mysql data warehouse, amazon aurora mysql etl, etl to amazon aurora mysql, amazon aurora mysql destination
summary: "Connect an Amazon Aurora MySQL destination to your Stitch account."

content-type: "destination-setup"
key: "mysql-aurora-destination-setup"
order: 2

toc: true
layout: tutorial
use-tutorial-sidebar: false


# -------------------------- #
# Destination Details #
# -------------------------- #

type: "mysql"
display_name: "Amazon Aurora MySQL"
name: "amazon-aurora-mysql"

port: 3306

hosting-type: "amazon" # amazon, generic, microsoft, etc.

api-type: "mysql_destination"

this-version: "1"

ssh: true

# -------------------------- #
# Setup Requirements #
# -------------------------- #

requirements:
- item: |
{% assign destination = page %}
**An up-and-running {{ destination.display_name }} instance.** Instructions for creating a {{ destination.display_name }} destination are outside the scope of this tutorial; our instructions assume that you have an instance up and running. For help getting started with {{ destination.display_name }}, refer to [AWS's documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.Aurora.html){:target="new"}.
- item: |
**A database that uses the InnoDB storage engine.** This is the default storage engine for all supported {{ destination.display_name }} versions and the only one supported by Stitch's {{ destination.display_name }} destination.
# -------------------------- #
# Setup Instructions #
# -------------------------- #

steps:
## The Data pipeline region step is necessary ONLY
## if the user needs to whitelist Stitch's IP addresses
## for setup.

- title: "Verify your Stitch account's data pipeline region"
anchor: "verify-stitch-account-region"
content: |
{% include shared/whitelisting-ips/locate-region-ip-addresses.html first-step=true %}
## The database connection settings step is necessary ONLY
## if the user needs to whitelist Stitch's IP addresses
## for setup.
- title: "Configure database connection settings"
anchor: "connect-settings"
content: |
{% include integrations/templates/configure-connection-settings.html %}
- title: "Create a Stitch {{ destination.display_name }} database user"
anchor: "create-database-user"
content: |
{% include note.html type="single-line" content="**Note**: You must have superuser privileges or the ability to create a user and grant privileges to complete this step." %}
In the following tabs are the instructions for creating a Stitch {{ destination.display_name }} database user and explanations for the permissions Stitch requires.
{% include destinations/templates/destination-user-setup.html %}
- title: "Enable local data loading"
anchor: "enable-local-data-loading"
content: |
To allow Stitch to stream data from the cloud into your destination, you need to enable the `local_infile` parameter in MySQL.
1. Check if the feature is already enabled. You can:
- Look for the `local_infile` parameter in your `my.cnf` configuration file.
- Run the following command from the command line:
```
show global variables like 'local_infile';
```
1. If the feature is disabled, enable it. To do so, you can:
- Append the following line in `my.cnf`, after the `[mysqld]` tag. If this tag does not exist, create it. It should look like this:
```
[mysqld]
local_infile=true
```
- Run the following command while logged in with your root user:
```
set global local_infile=true
```
1. If you are using a supported {{ destination.display_name }} version older than `8.0` (from `5.7.8` to `5.7.37`), you may run into errors stating that you are loading invalid UTF-8 characters. To avoid this issue, append the following lines in `my.cnf`:
```
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
```
If the `[mysql]` and `[mysqld]` tags already exist in the file, add the the values after each tag, otherwise add both the tags and values.
1. Restart your database server to apply the changes.
For more information, see the [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/load-data-local-security.html).
- title: "Connect Stitch"
anchor: "connect-stitch"
content: |
To complete the setup, you need to enter your {{ destination.display_name }} connection details into the {{ app.page-names.dw-settings }} page in Stitch.
substeps:
- title: "Enter connection details into Stitch"
anchor: "enter-connection-details-into-stitch"
content: |
{% include shared/database-connection-settings.html type="general" %}
## The SSH step should remain ONLY if the destination
## supports SSH.
- title: "Define SSH connection details"
anchor: "define-ssh-connection-details"
content: |
{% include shared/database-connection-settings.html type="ssh" %}
## The SSL step should remain ONLY if the destination
## supports SSL.
- title: "Define SSL connection details"
anchor: "define-ssl-connection-details"
content: |
{% include shared/database-connection-settings.html type="ssl" ssl-fields=true %}
- title: "Save the destination"
anchor: "save-destination"
content: |
{% include shared/database-connection-settings.html type="finish-up" %}
---
{% include misc/data-files.html %}
{% assign destination = page %}
160 changes: 160 additions & 0 deletions _destinations/mysql/guides/connecting-amazon-rds-for-mysql.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
---
# -------------------------- #
# USING THIS TEMPLATE #
# -------------------------- #

## NEED HELP USING THIS TEMPLATE? SEE:
## https://docs-about-stitch-docs.netlify.com/reference/destination-templates/destination-setup/
## FOR INSTRUCTIONS & REFERENCE INFO


# -------------------------- #
# Page formatting & Controls #
# -------------------------- #

title: Connecting an Amazon RDS for MySQL Destination to Stitch
permalink: /destinations/mysql/connecting-an-amazon-rds-for-mysql-destination-to-stitch

keywords: amazon rds for mysql, amazon rds for mysql data warehouse, amazon rds for mysql data warehouse, amazon rds for mysql etl, etl to amazon rds for mysql, amazon rds for mysql destination
summary: "Connect an Amazon RDS for MySQL destination to your Stitch account."

content-type: "destination-setup"
key: "mysql-rds-destination-setup"
order: 2

toc: true
layout: tutorial
use-tutorial-sidebar: false


# -------------------------- #
# Destination Details #
# -------------------------- #

type: "mysql"
display_name: "Amazon RDS for MySQL"
name: "amazon-rds-mysql"

port: 3306

hosting-type: "amazon" # amazon, generic, microsoft, etc.

api-type: "mysql_destination"

this-version: "1"

ssh: true

# -------------------------- #
# Setup Requirements #
# -------------------------- #

requirements:
- item: |
{% assign destination = page %}
**An up-and-running {{ destination.display_name }} instance.** Instructions for creating a {{ destination.display_name }} destination are outside the scope of this tutorial; our instructions assume that you have an instance up and running. For help getting started with {{ destination.display_name }}, refer to [AWS's documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MySQL.html){:target="new"}.
- item: |
**A database that uses the InnoDB storage engine.** This is the default storage engine for all supported {{ destination.display_name }} versions and the only one supported by Stitch's {{ destination.display_name }} destination.
# -------------------------- #
# Setup Instructions #
# -------------------------- #

steps:
## The Data pipeline region step is necessary ONLY
## if the user needs to whitelist Stitch's IP addresses
## for setup.

- title: "Verify your Stitch account's data pipeline region"
anchor: "verify-stitch-account-region"
content: |
{% include shared/whitelisting-ips/locate-region-ip-addresses.html first-step=true %}
## The database connection settings step is necessary ONLY
## if the user needs to whitelist Stitch's IP addresses
## for setup.
- title: "Configure database connection settings"
anchor: "connect-settings"
content: |
{% include integrations/templates/configure-connection-settings.html %}
- title: "Create a Stitch {{ destination.display_name }} database user"
anchor: "create-database-user"
content: |
{% include note.html type="single-line" content="**Note**: You must have superuser privileges or the ability to create a user and grant privileges to complete this step." %}
In the following tabs are the instructions for creating a Stitch {{ destination.display_name }} database user and explanations for the permissions Stitch requires.
{% include destinations/templates/destination-user-setup.html %}
- title: "Enable local data loading"
anchor: "enable-local-data-loading"
content: |
To allow Stitch to stream data from the cloud into your destination, you need to enable the `local_infile` parameter in MySQL.
1. Check if the feature is already enabled. You can:
- Look for the `local_infile` parameter in your `my.cnf` configuration file.
- Run the following command from the command line:
```
show global variables like 'local_infile';
```
1. If the feature is disabled, enable it. To do so, you can:
- Append the following line in `my.cnf`, after the `[mysqld]` tag. If this tag does not exist, create it. It should look like this:
```
[mysqld]
local_infile=true
```
- Run the following command while logged in with your root user:
```
set global local_infile=true
```
1. If you are using a supported {{ destination.display_name }} version older than `8.0` (from `5.7.8` to `5.7.37`), you may run into errors stating that you are loading invalid UTF-8 characters. To avoid this issue, append the following lines in `my.cnf`:
```
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
```
If the `[mysql]` and `[mysqld]` tags already exist in the file, add the the values after each tag, otherwise add both the tags and values.
1. Restart your database server to apply the changes.
For more information, see the [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/load-data-local-security.html).
- title: "Connect Stitch"
anchor: "connect-stitch"
content: |
To complete the setup, you need to enter your {{ destination.display_name }} connection details into the {{ app.page-names.dw-settings }} page in Stitch.
substeps:
- title: "Enter connection details into Stitch"
anchor: "enter-connection-details-into-stitch"
content: |
{% include shared/database-connection-settings.html type="general" %}
## The SSH step should remain ONLY if the destination
## supports SSH.
- title: "Define SSH connection details"
anchor: "define-ssh-connection-details"
content: |
{% include shared/database-connection-settings.html type="ssh" %}
## The SSL step should remain ONLY if the destination
## supports SSL.
- title: "Define SSL connection details"
anchor: "define-ssl-connection-details"
content: |
{% include shared/database-connection-settings.html type="ssl" ssl-fields=true %}
- title: "Save the destination"
anchor: "save-destination"
content: |
{% include shared/database-connection-settings.html type="finish-up" %}
---
{% include misc/data-files.html %}
{% assign destination = page %}
Loading

0 comments on commit 87175e4

Please sign in to comment.