MySQL
Connect & Ingest data from / to a MySQL database
Setup
The following credentials keys are accepted:
host
(required) -> The hostname / ip of the instanceuser
(required) -> The username to access the instancedatabase
(required) -> The database name of the instanceschema
(optional) -> The default schema to usepassword
(optional) -> The password to access the instanceport
(optional) -> The port of the instance. Default is3306
.ssh_tunnel
(optional) -> The URL of the SSH server you would like to use as a tunnel (examplessh://user:password@db.host:22
)ssh_private_key
(optional) -> The private key to use to access a SSH server (raw string or path to file).ssh_passphrase
(optional) -> The passphrase to use to access a SSH server.
Additional Parameters (since v1.2.19). See here for more details:
allow_all_files
-> Allows using LOCAL DATA INFILE without restrictions (true
orfalse
)allow_cleartext_passwords
-> Permits sending passwords in clear text (true
orfalse
)allow_fallback_to_plaintext
-> Allows fallback to unencrypted connection if server doesn't support TLS (true
orfalse
)allow_native_passwords
-> Enables the native password authentication method (true
orfalse
)allow_old_passwords
-> Allows the old insecure password method (true
orfalse
)charset
-> Sets the charset for server-side prepared statements (e.g.,utf8mb4
)check_conn_liveness
-> Checks connection liveness before using it (true
orfalse
)collation
-> Sets the collation for server-side prepared statements (e.g.,utf8mb4_general_ci
)client_found_rows
-> Returns number of matching rows instead of rows changed (true
orfalse
)columns_with_alias
-> Prepares result columns as if they have an alias (true
orfalse
)interpolate_params
-> Interpolates placeholders instead of using prepared statements (true
orfalse
)loc
-> Sets the location for time.Time values (e.g.,Local
,UTC
, or a time zone name)time_truncate
-> Truncates time values to the given precision (true
orfalse
)max_allowed_packet
-> Max packet size allowed (integer value in bytes)multi_statements
-> Allows multiple statements in one query (true
orfalse
)parse_time
-> Converts TIME/DATE/DATETIME to time.Time (true
orfalse
)read_timeout
-> I/O read timeout (duration string, e.g.,30s
,0.5m
,1h
)reject_read_only
-> Rejects read-only connections (true
orfalse
)server_pub_key
-> Server public key name (string)timeout
-> Timeout for establishing connections (duration string, e.g.,30s
,0.5m
,1h
)tls
-> TLS configuration name (true
,false
,skip-verify
, or custom TLS config name)write_timeout
-> I/O write timeout (duration string, e.g.,30s
,0.5m
,1h
)connection_attributes
-> Connection attributes to send to MySQL (comma-separated list of key-value pairs)
Using sling conns
sling conns
Here are examples of setting a connection named MYSQL
. We must provide the type=mysql
property:
Environment Variable
Sling Env File YAML
See here to learn more about the sling env.yaml
file.
Database user creation
To allow Sling to access your database, we need to create a user with the proper privileges. Please follow the steps below:
First you’ll need to login as a user with
CREATE USER
andGRANT OPTION
privileges. Create a usersling
(or whatever you prefer) by running :If you are planning to load data into this connection, you need to grant the following privileges to that user so we can create tables in schema sling:
If you are planning to extract data from this connection, you need to give permission to read the tables you'd like Sling to extract.
If you are facing issues connecting, please reach out to us at support@slingdata.io, on discord or open a Github Issue here.
Last updated