The tap-mysql extractor pulls data from MySQL/MariaDB that can then be sent to a destination using a loader.
Alternate Implementations
Getting Started
Prerequisites
If you haven't already, follow the initial steps of the Getting Started guide:
Installation and configuration
-
Add the tap-mysql extractor to your
project using
:meltano add
-
Configure the tap-mysql
settings using
:meltano config
-
Test that extractor settings are valid using
:meltano config
meltano add extractor tap-mysql --variant meltanolabs
meltano config tap-mysql set --interactive
meltano config tap-mysql test
Next steps
Follow the remaining steps of the Getting Started guide:
If you run into any issues, learn how to get help.
Capabilities
The current capabilities for
tap-mysql
may have been automatically set when originally added to the Hub. Please review the
capabilities when using this extractor. If you find they are out of date, please
consider updating them by making a pull request to the YAML file that defines the
capabilities for this extractor.
This plugin has the following capabilities:
- about
- batch
- catalog
- discover
- schema-flattening
- state
- stream-maps
You can
override these capabilities or specify additional ones
in your meltano.yml
by adding the capabilities
key.
Settings
The
tap-mysql
settings that are known to Meltano are documented below. To quickly
find the setting you're looking for, click on any setting name from the list:
database
filter_schemas
host
is_vitess
password
port
sqlalchemy_options
sqlalchemy_url
ssh_tunnel.enable
ssh_tunnel.host
ssh_tunnel.port
ssh_tunnel.private_key
ssh_tunnel.private_key_password
ssh_tunnel.username
user
You can also list these settings using
with the meltano config
list
subcommand:
meltano config tap-mysql list
You can
override these settings or specify additional ones
in your meltano.yml
by adding the settings
key.
Please consider adding any settings you have defined locally to this definition on MeltanoHub by making a pull request to the YAML file that defines the settings for this plugin.
Database (database)
-
Environment variable:
TAP_MYSQL_DATABASE
Database name. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set database [value]
Filter Schemas (filter_schemas)
-
Environment variable:
TAP_MYSQL_FILTER_SCHEMAS
If an array of schema names is provided, the tap will only process the specified MySQL schemas and ignore others. If left blank, the tap automatically determines ALL available MySQL schemas.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set filter_schemas [value]
Host (host)
-
Environment variable:
TAP_MYSQL_HOST
Hostname for mysql instance. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set host [value]
Is Vitess (is_vitess)
-
Environment variable:
TAP_MYSQL_IS_VITESS
By default we'll check if the database is a Vitess instance. If you would rather not automatically check, set this to False
. See Vitess/PlanetScale documentation below for more information.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set is_vitess [value]
Password (password)
-
Environment variable:
TAP_MYSQL_PASSWORD
Password used to authenticate. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set password [value]
Port (port)
-
Environment variable:
TAP_MYSQL_PORT
-
Default Value:
3306
The port on which mysql is awaiting connection. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set port [value]
SQLAlchemy Options (sqlalchemy_options)
-
Environment variable:
TAP_MYSQL_SQLALCHEMY_OPTIONS
Sqlalchemy_url options (also called the query), to connect to PlanetScale you must turn on SSL see PlanetScale information below. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set sqlalchemy_options [value]
SQLAlchemy URL (sqlalchemy_url)
-
Environment variable:
TAP_MYSQL_SQLALCHEMY_URL
Example pymysql://[username]:[password]@localhost:3306/[db_name][?options] see https://docs.sqlalchemy.org/en/20/dialects/mysql.html#module-sqlalchemy.dialects.mysql.pymysql for more information
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set sqlalchemy_url [value]
SSH Tunnel Enable (ssh_tunnel.enable)
-
Environment variable:
TAP_MYSQL_SSH_TUNNEL_ENABLE
-
Default Value:
false
Enable an ssh tunnel (also known as bastion host), see the other ssh_tunnel.* properties for more details
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set ssh_tunnel enable [value]
SSH Tunnel Host (ssh_tunnel.host)
-
Environment variable:
TAP_MYSQL_SSH_TUNNEL_HOST
Host of the bastion host, this is the host we'll connect to via ssh
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set ssh_tunnel host [value]
SSH Tunnel Port (ssh_tunnel.port)
-
Environment variable:
TAP_MYSQL_SSH_TUNNEL_PORT
-
Default Value:
22
Port to connect to bastion host
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set ssh_tunnel port [value]
SSH Tunnel Private Key (ssh_tunnel.private_key)
-
Environment variable:
TAP_MYSQL_SSH_TUNNEL_PRIVATE_KEY
Private Key for authentication to the bastion host
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set ssh_tunnel private_key [value]
SSH Tunnel Private Key Password (ssh_tunnel.private_key_password)
-
Environment variable:
TAP_MYSQL_SSH_TUNNEL_PRIVATE_KEY_PASSWORD
Private Key Password, leave None if no password is set
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set ssh_tunnel private_key_password [value]
SSH Tunnel Username (ssh_tunnel.username)
-
Environment variable:
TAP_MYSQL_SSH_TUNNEL_USERNAME
Username to connect to bastion host
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set ssh_tunnel username [value]
User (user)
-
Environment variable:
TAP_MYSQL_USER
User name used to authenticate. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set user [value]
Expand To Show SDK Settings
Batch Config Encoding Compression (batch_config.encoding.compression)
-
Environment variable:
TAP_MYSQL_BATCH_CONFIG_ENCODING_COMPRESSION
Compression format to use for batch files.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set batch_config encoding.compression [value]
Batch Config Encoding Format (batch_config.encoding.format)
-
Environment variable:
TAP_MYSQL_BATCH_CONFIG_ENCODING_FORMAT
Format to use for batch files.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set batch_config encoding.format [value]
Batch Config Storage Prefix (batch_config.storage.prefix)
-
Environment variable:
TAP_MYSQL_BATCH_CONFIG_STORAGE_PREFIX
Prefix to use when writing batch files.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set batch_config storage.prefix [value]
Batch Config Storage Root (batch_config.storage.root)
-
Environment variable:
TAP_MYSQL_BATCH_CONFIG_STORAGE_ROOT
Root path to use when writing batch files.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set batch_config storage.root [value]
Faker Config Locale (faker_config.locale)
-
Environment variable:
TAP_MYSQL_FAKER_CONFIG_LOCALE
One or more LCID locale strings to produce localized output for: https://faker.readthedocs.io/en/master/#localization
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set faker_config locale [value]
Faker Config Seed (faker_config.seed)
-
Environment variable:
TAP_MYSQL_FAKER_CONFIG_SEED
Value to seed the Faker generator for deterministic output: https://faker.readthedocs.io/en/master/#seeding-the-generator
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set faker_config seed [value]
Flattening Enabled (flattening_enabled)
-
Environment variable:
TAP_MYSQL_FLATTENING_ENABLED
'True' to enable schema flattening and automatically expand nested properties.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set flattening_enabled [value]
Flattening Max Depth (flattening_max_depth)
-
Environment variable:
TAP_MYSQL_FLATTENING_MAX_DEPTH
The max depth to flatten schemas.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set flattening_max_depth [value]
Stream Map Config (stream_map_config)
-
Environment variable:
TAP_MYSQL_STREAM_MAP_CONFIG
User-defined config values to be used within map expressions.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set stream_map_config [value]
Stream Maps (stream_maps)
-
Environment variable:
TAP_MYSQL_STREAM_MAPS
Config object for stream maps capability. For more information check out Stream Maps.
Configure this setting directly using the following Meltano command:
meltano config tap-mysql set stream_maps [value]
Something missing?
This page is generated from a YAML file that you can contribute changes to.
Edit it on GitHub!Looking for help?
#plugins-general
channel.