On this page

    MySQL

    MySQL is a managed database service for deploying cloud-native applications.

    Prerequisites

    Ensure that you have the following details before configuring MySQL as a source:

    • Hostname or IP address
    • Port

    Configuring MySQL as a Source

    Perform these steps to configure MySQL as a source:

    1. On the Datasets page, click Add Source at the bottom-left corner of the Data panel.

      This is a screenshot showing how to add a source.

      Alternatively, select Databases in the Data panel. The page displays all database sources. Click the Add database button at the top-right corner of that page.

    2. In the Add Data Source dialog, click MySQL.

      The following section describes the source configuration settings in the New MySQL Source dialog.

    General

    Under General in the sidebar, complete the following steps:

    1. For Name, enter a name.

    2. For Host, enter the MySQL host name.

    3. For Port, enter the MySQL port number. The default port is 3306.

    4. (Optional) For Database, enter the MySQL database name.

    5. For Authentication, choose one of the following options:

      a. Select No Authentication to not provide credentials.

      b. Select Master Credentials to provide the username and password of a master database user with permissions to read required objects:

      • For Username, enter your MySQL database username.
      • For Password, enter your MySQL database password.

    Advanced Options

    (Optional) Select Advanced Options in the sidebar and change any of the following settings:

    Advanced Option Description
    Net write timeout (in seconds) Seconds to wait for data from the server before aborting the connection. The default timeout is 60 seconds.
    Record fetch size Number of records to fetch at once. Set to 0 (zero) to have Sonar automatically decide. The default record fetch size is 200.
    Maximum Idle Connections The total number of connections allowed to be idle at a given time. The default maximum idle connections is 8.
    Connection idle time (s) The amount of time (in seconds) allowed for a connection to remain idle before the connection is terminated. The default connection idle time is 60 seconds.
    Query timeout (s) The amount of time (in seconds) for the query to be executed before it is canceled.
    Properties Custom key value pairs for the connection relevant to the source. To add a connection property, click Add property and add the property name and value.

    Reflection Refresh

    Select Reflection Refresh in the sidebar and set time intervals for reflections to refresh or expire.

    This is a screenshot showing the Reflection Refresh tab.

    Metadata

    (Optional) Select Metadata in the sidebar and complete the following steps:

    1. Select Remove dataset definitions if underlying data is unavailable. By default, Sonar removes dataset definitions if underlying data is unavailable. This can be useful when files are temporarily deleted and added back in the same location with new sets of files.

    2. Set the following Metadata Refresh parameters:

    Parameter Description Field Setting
    Dataset Discovery The refresh interval for fetching top-level source object names such as databases and tables. Fetch every You can choose to set the frequency to fetch object names in minutes, hours, days, or weeks. The default frequency to fetch object names is 1 hour.
    Dataset Details The metadata that Sonar needs for query planning such as information required for fields, types, shards, statistics, and locality. These are the parameters to fetch the dataset information. Fetch mode You can choose to fetch only from queried datasets that are set by default. Sonar updates details for previously queried objects in a source. Fetching from all datasets is deprecated.
    Fetch every You can choose to set the frequency to fetch dataset details in minutes, hours, days, or weeks. The default frequency to fetch dataset details is 1 hour.
    Expire after You can choose to set the expire time of dataset details in minutes, hours, days, or weeks. The default expiry time of dataset details is 3 hours.

    Privileges

    (Optional) Select Privileges in the sidebar and grant privileges to specific users or roles by completing the following steps:

    This is a screenshot showing the Privileges tab.
    1. For Privileges, enter the user name or role name that you want to grant access to and click the Add to Privileges button. The added user or role is displayed in the Users table.
    2. For the users or roles in the Users table, toggle the green checkmark for each privilege you want to grant to the MySQL source that is being created.
    3. Click Save.

    Editing a MySQL Source

    To edit a MySQL source:

    1. On the Database page, click Databases. A list of databases is displayed.

    2. Hover over the database and click the Settings This is the icon that represents the Database settings. icon that appears next to the source.

    3. In the Source Settings dialog, you cannot edit the name. Editing other parameters is optional.

    4. Click Save.

    Removing a MySQL Source

    To remove a MySQL source, perform these steps:

    1. On the Datasets page, click Databases. A list of sources is displayed.

    2. Hover over the source and click the More (…) icon that appears next to the source.

    3. From the list of actions, click Remove Source. Confirm that you want to remove the source.

    warning:

    Removing a source causes all downstream views dependent on objects in this source to break.

    Predicate Pushdowns

    Dremio offloads these operations to MySQL.

    *, +, -, /, %
    <, <=, <>, =, >, >=, !=
    AND, NOT, NOT LIKE, OR, ||
    ABS
    ACOS
    ADD_MONTHS
    ASIN
    ATAN
    ATAN2
    AVG
    CAST
    CEIL
    CEILING
    CHAR_LENGTH
    CHARACTER_LENGTH
    CONCAT
    COS
    COT
    CURRENT_DATE
    CURRENT_TIME
    CURRENT_TIMESTAMP
    DATE_ADD
    DATE_SUB
    DATE_TRUNC_DAY
    DATE_TRUNC_DECADE
    DATE_TRUNC_HOUR
    DATE_TRUNC_MINUTE
    DATE_TRUNC_MONTH
    DATE_TRUNC_SECOND
    DATE_TRUNC_WEEK
    DATE_TRUNC_YEAR
    DEGREES
    E
    EXP
    EXTRACT_DAY
    EXTRACT_DOW
    EXTRACT_DOY
    EXTRACT_HOUR
    EXTRACT_MINUTE
    EXTRACT_MONTH
    EXTRACT_QUARTER
    EXTRACT_SECOND
    EXTRACT_WEEK
    EXTRACT_YEAR
    FLOOR
    IS DISTINCT FROM
    IS NOT DISTINCT FROM
    IS NOT NULL
    IS NULL
    LAST_DAY
    LCASE
    LEFT
    LENGTH
    LIKE
    LN
    LOCATE
    LOG
    LOG10
    LOWER
    LPAD
    LTRIM
    MAX
    MIN
    MOD
    PI
    POSITION
    POW
    POWER
    RADIANS
    RAND
    REPLACE
    REVERSE
    RIGHT
    ROUND
    RPAD
    RTRIM
    SIGN
    SIN
    SQRT
    STDDEV
    STDDEV_POP
    STDDEV_SAMP
    SUBSTR
    SUBSTRING
    SUM
    TAN
    TIMESTAMPADD_DAY
    TIMESTAMPADD_HOUR
    TIMESTAMPADD_MINUTE
    TIMESTAMPADD_MONTH
    TIMESTAMPADD_QUARTER
    TIMESTAMPADD_SECOND
    TIMESTAMPADD_YEAR
    TIMESTAMPDIFF_DAY
    TIMESTAMPDIFF_HOUR
    TIMESTAMPDIFF_MINUTE
    TIMESTAMPDIFF_MONTH
    TIMESTAMPDIFF_QUARTER
    TIMESTAMPDIFF_SECOND
    TIMESTAMPDIFF_WEEK
    TIMESTAMPDIFF_YEAR
    TO_DATE
    TRIM
    TRUNC
    TRUNCATE
    UCASE
    UPPER
    VAR_POP
    VAR_SAMP