Back to Influxdb

Write to MariaDB

content/flux/v0/write-data/sql/mariadb.md

latest1.7 KB
Original Source

To write data to MariaDB with Flux:

  1. Import the sql package.

  2. Pipe-forward data into sql.to() and provide the following parameters:

    • driverName: mysql
    • dataSourceName: See data source name
    • table: Table to write to
    • batchSize: Number of parameters or columns that can be queued within each call to Exec (default is 10000)
js
import "sql"

data
    |> sql.to(
        driverName: "mysql",
        dataSourceName: "user:password@tcp(localhost:3306)/db",
        query: "SELECT * FROM example_table",
    )

MariaDB data source name

The mysql driver uses the following data source name (DSN) syntax (also known as a connection string):

username:password@tcp(localhost:3306)/dbname?param=value

Flux to MariaDB data type conversion

sql.to() converts Flux data types to MariaDB data types.

Flux data typeMariaDB data type
floatFLOAT
intBIGINT
uintBIGINT
stringTEXT(16383)
boolBOOL (TINYINT)
timeDATETIME

{{% note %}}

MariaDB BOOL types

BOOL is a synonym supplied by MariaDB for convenience. MariaDB stores BOOL values as TINYINT types so looking at the schema shows the column type as TINYINT. {{% /note %}}