TDSQL
TMA-TDSQL-10.3
Ensure Strong Synchronous Replication Is Used
MediumLevel 1Automatedtdsql
Description
TDSQL's strong synchronous (sqlasyn) mechanism ensures a transaction returns success only after it is confirmed on both the primary and replica nodes, guaranteeing no data loss. 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).
How it is checked
Audit method: SQL query
sql_query
out=$(mysql ${TDSQL_MYSQL_OPTS:-} -NBe "SHOW GLOBAL VARIABLES LIKE 'sqlasyn'" 2>/dev/null) || exit 1; v=$(printf '%s\n' "$out" | awk -F'\t' '$1 == "sqlasyn" {print toupper($2)}'); case "$v" in ON|1) echo compliant;; *) echo "value '$v'";; esac- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
SET GLOBAL sqlasyn = ON; through the OSS management platform and persist it in the parameter template.
Properties
- Operating systems
- Any
- Tags
- tdsqlreplication
- Reference
- CIS Tencent TDSQL 10.3.22 Benchmark v1.0.0 - 10.3 Ensure Strong Synchronous Replication Is Used
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target tdsql