Updated on 2024-10-14 GMT+08:00

Downloading SQL Audit Logs

If you enable SQL audit, all SQL operations will be logged, and you can download audit logs to view details. The minimum time unit of audit logs is second. By default, SQL audit is disabled. Enabling this function may affect database performance.

Procedure

  1. Log in to the management console.
  2. Click in the upper left corner and select a region and a project.
  3. Click in the upper left corner of the page and choose Databases > Relational Database Service.
  4. On the Instances page, click the target DB instance.
  5. In the navigation pane on the left, choose SQL Audits.
  6. On the displayed page, select a time range in the upper right corner, select SQL audit logs to be downloaded in the list, and click Download above the list to download SQL audit logs in batches.

    Alternatively, select an audit log and click Download in the Operation column to download an individual SQL audit log.

  7. The following figure shows the SQL audit log content. For field descriptions, see Table 1.

    Figure 1 RDS for MariaDB audit logs
    Table 1 Audit log field description

    Parameter

    Description

    record_id

    ID of a single record, which is the unique global ID of each SQL statement recorded in the audit log.

    connection_id

    ID of the session executed for the record, which is the same as the ID in the show processlist command output.

    connection_status

    Session status, which is usually the returned error code of a statement. If a statement is successfully executed, the value 0 is returned.

    name

    Recorded type name. Generally, DML and DDL operations are QUERY, connection and disconnection operations are CONNECT and QUIT, respectively.

    timestamp

    UTC time for the record.

    command_class

    SQL command type. The value is the parsed SQL type, for example, select or update. (This field does not exist if the connection is disconnected.)

    sqltext

    Executed SQL statement content. (This field does not exist if the connection is disconnected.)

    user

    Login account.

    host

    Login host. The value is localhost for local login and is empty for remote login.

    external_user

    External username.

    ip

    IP address of the remotely-connected client. For local connection, the field is empty.

    default_db

    Default database on which SQL statements are executed.

    NOTE:

    Only when you have specified a database name using -D in the command for connecting to your DB instance, can the database name be queried in audit logs. If no database name has been specified, this parameter is left blank in audit logs. In the following example, the specified database name is db.

    mysql -h 10.10.0.233 -P 3306 -u root -p -D db