MySQL
MySQL Data Connector Documentation
MySQL is an open-source relational database management system that uses structured query language (SQL) for managing and manipulating databases.
The MySQL Data Connector enables federated/accelerated SQL queries on data stored in MySQL databases.
Configuration
from
from
The from
field takes the form mysql:database_name.table_name
where database_name
is the fully-qualified table name in the SQL server.
If the database_name
is omitted in the from
field, the connector will use the database specified in the mysql_db
parameter. If the mysql_db
parameter is not provided, it will default to the user's default database.
These two examples are identical:
name
name
The dataset name. This will be used as the table name within Spice.
Example:
params
params
The MySQL data connector can be configured by providing the following params
. Use the secret replacement syntax to load the secret from a secret store, e.g. ${secrets:my_mysql_conn_string}
.
mysql_connection_string
The connection string to use to connect to the MySQL server. This can be used instead of providing individual connection parameters.
mysql_host
The hostname of the MySQL server.
mysql_tcp_port
The port of the MySQL server.
mysql_db
The name of the database to connect to.
mysql_user
The MySQL username.
mysql_pass
The password to connect with.
mysql_sslmode
Optional. Specifies the SSL/TLS behavior for the connection, supported values:
required
: (default) This mode requires an SSL connection. If a secure connection cannot be established, server will not connect.preferred
: This mode will try to establish a secure SSL connection if possible, but will connect insecurely if the server does not support SSL.disabled
: This mode will not attempt to use an SSL connection, even if the server supports it.
mysql_sslrootcert
Optional parameter specifying the path to a custom PEM certificate that the connector will trust.
Types
The table below shows the MySQL data types supported, along with the type mapping to Apache Arrow types in Spice.
TINYINT
Int8
SMALLINT
Int16
INT
Int32
MEDIUMINT
Int32
BIGINT
Int64
DECIMAL
Decimal128
/ Decimal256
FLOAT
Float32
DOUBLE
Float64
DATETIME
Timestamp(Microsecond, None)
TIMESTAMP
Timestamp(Microsecond, None)
YEAR
Int16
TIME
Time64(Nanosecond)
DATE
Date32
CHAR
Utf8
BINARY
Binary
VARCHAR
Utf8
VARBINARY
Binary
TINYBLOB
Binary
TINYTEXT
Utf8
BLOB
Binary
TEXT
Utf8
MEDIUMBLOB
Binary
MEDIUMTEXT
Utf8
LONGBLOB
LargeBinary
LONGTEXT
LargeUtf8
SET
Utf8
ENUM
Dictionary(UInt16, Utf8)
BIT
UInt64
The MySQL
TIMESTAMP
value is retrieved as a UTC time value.
Examples
Connecting using username and password
Connecting using SSL
Connecting using a Connection String
Connecting to the default database
Last updated
Was this helpful?