TMAegisBeta
More rules for tdsql

TDSQL

TMA-TDSQL-6.5

Ensure the Slow Query Log Is Enabled

LowLevel 1Automatedtdsql

Description

The slow query log records SQL statements whose execution time exceeds a specified threshold, helping to identify performance issues and potential DoS attacks. Runs the mysql client against the TDSQL data node selected by TDSQL_MYSQL_OPTS (e.g. "-h10.0.0.5 -P4001 -utdsql_audit"); keep the password in ~/.my.cnf or a login path rather than MYSQL_PWD or the command line (see 1.4 and 1.5). Passes when slow_query_log is ON and long_query_time is between 1 and 10 seconds.

How it is checked

Audit method: SQL query

sql_query
out=$(mysql ${TDSQL_MYSQL_OPTS:-} -NBe "SELECT CASE WHEN @@global.slow_query_log = 1 AND @@global.long_query_time BETWEEN 1 AND 10 THEN 'compliant' ELSE 'noncompliant' END" 2>/dev/null) || exit 1; printf '%s\n' "$out"
Expected output
compliant

How it is fixed

Fix method: Guidance or infrastructure patch

SET GLOBAL slow_query_log = ON; SET GLOBAL long_query_time = 2;

Properties

Operating systems
Any
Tags
tdsqllogging
Reference
CIS Tencent TDSQL 10.3.22 Benchmark v1.0.0 - 6.5 Ensure the Slow Query Log Is Enabled

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target tdsql