MariaDB
Connect & Ingest data from / to a MariaDB 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:[email protected]: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.
Using sling conns
sling connsHere are examples of setting a connection named MARIADB. We must provide the type=mariadb property:
$ sling conns set MARIADB type=mariadb host=<host> user=<user> database=<database> password=<password> port=<port>
# OR use url
$ sling conns set MARIADB url="mariadb://myuser:[email protected]:3306/mydatabase?tls=skip-verify"Environment Variable
export MARIADB='mariadb://myuser:[email protected]:3306/mydatabase?tls=skip-verify'
export MARIADB='{ type: mariadb, user: "myuser", password: "mypass", host: "host.ip", port: 3306, database: "mydatabase", tls: "skip-verify" }'Sling Env File YAML
See here to learn more about the sling env.yaml file.
connections:
MARIADB:
type: mariadb
host: <host>
user: <user>
port: <port>
database: <database>
schema: <schema>
password: <password>
MARIADB_URL:
url: "mariadb://myuser:[email protected]:3306/mydatabase?tls=skip-verify"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 USERandGRANT OPTIONprivileges. Create a usersling(or whatever you prefer) by running :CREATE USER 'sling'@'%' IDENTIFIED BY '<password>';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:
CREATE SCHEMA sling; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, CREATE TEMPORARY TABLES, CREATE VIEW ON sling.* TO '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.
-- To give read access to all tables in a specific schema GRANT SELECT ON <schema_name>.* TO 'sling'@'%';
If you are facing issues connecting, please reach out to us at [email protected], on discord or open a Github Issue here.
Last updated
Was this helpful?