Todos los productos
Search
Centro de documentos

ApsaraDB RDS:Use the SQL Explorer and Audit feature

Última actualización: Oct 13, 2026

SQL Explorer and Audit captura cada instrucción SQL que se ejecuta en su instancia de ApsaraDB RDS for MySQL. Registra la cuenta, la dirección IP de origen y los detalles de ejecución, y almacena esta información como registros de auditoría. Utilice estos datos para:

  • Conservar un historial de auditoría completo de todas las operaciones de Data Query Language (DQL), Data Manipulation Language (DML) y Data Definition Language (DDL) con el fin de cumplir los requisitos de seguridad.

  • Investigar problemas de rendimiento, sesiones anómalas y el estado de salud de las instrucciones SQL.

  • Recuperar datos mediante la reproducción de las instrucciones SQL registradas después de una pérdida o corrupción de datos.

Importante

SQL Explorer and Audit captura los datos directamente desde los kernels de la base de datos y consume una cantidad mínima de recursos de CPU. Habilitar y usar esta función tiene un impacto mínimo en el rendimiento de la instancia.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

Si un usuario de RAM necesita utilizar la función SQL statement search, asigne la política AliyunRDSReadOnlyWithSQLLogArchiveAccess a dicho usuario. Para más detalles, consulte Use RAM to manage ApsaraDB RDS permissions o grant permissions using a custom policy, donde se explican las funciones de búsqueda y exportación.

En la consola de ApsaraDB RDS, solo se puede habilitar la función SQL Explorer and Audit proporcionada por la versión más reciente de DAS Enterprise Edition compatible con la región actual.

Regiones compatibles

China (Hangzhou), China (Shanghai), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Shenzhen), China (Heyuan), China (Guangzhou), China (Chengdu), China (Hong Kong), Singapore, Japan (Tokyo), Malaysia (Kuala Lumpur), Indonesia (Jakarta), US (Silicon Valley), UK (London), US (Virginia), Germany (Frankfurt)

Capacidades

Capability

Description

Search (audit)

Consulta y exporta registros de ejecución de instrucciones SQL, incluida la base de datos, el estado y el tiempo de ejecución.

SQL Explorer

Diagnostica el estado de salud de las instrucciones SQL, soluciona problemas de rendimiento y analiza el tráfico del negocio.

Security audit

Identifica riesgos como instrucciones SQL de alto riesgo, ataques de inyección SQL y nuevas fuentes de acceso.

Traffic playback and stress testing

Reproduce tráfico real para comprobar si es necesario escalar horizontalmente la instancia.

SQL analysis

Analiza las instrucciones SQL en un intervalo de tiempo para detectar consultas anómalas y localizar cuellos de botella de rendimiento.

Esta función resulta adecuada para los siguientes escenarios:

  • Sectores que requieren alta seguridad de los datos, como finanzas, seguridad, mercado de valores, servicios públicos y seguros.

  • Solución de problemas, análisis de rendimiento de SQL e identificación de sesiones anómalas.

  • Recuperación tras pérdida o corrupción de datos mediante las instrucciones SQL que registra la función.

Facturación

La facturación depende de cuándo y cómo se habilitó la función.

Si habilitó la función original SQL Explorer antes de su actualización a SQL Explorer and Audit, el cargo se incluye en la factura de ApsaraDB RDS. El precio se basa en la región de la instancia y se cobra por GB-hora:

Rate

Regions

USD 0.0012/GB-hora

China (Hangzhou), China (Shanghai), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Shenzhen), China (Heyuan), China (Guangzhou), China (Chengdu)

USD 0.0015/GB-hora

China (Hong Kong), US (Silicon Valley), US (Virginia)

USD 0.0018/GB-hora

Singapore, Japan (Tokyo), Germany (Frankfurt), UAE (Dubai), Malaysia (Kuala Lumpur), Indonesia (Jakarta), UK (London)

Para actualizar de SQL Explorer a SQL Explorer and Audit: inicie sesión en la consola de ApsaraDB RDS, vaya a la pestaña SQL Explorer y haga clic en One click upgrade en el cuadro de diálogo. Después de la actualización, la facturación pasa a su factura de DAS.

Si SQL Explorer and Audit se habilita después de la actualización, el cargo se incluye en la factura de DAS. Las regiones compatibles y las tarifas varían según la versión de DAS Enterprise Edition. Para más detalles, consulte DAS editions and supported features y Billing.

Límites

Límites de consulta en línea

  • Intervalo de tiempo: Cada consulta abarca una ventana de hasta 24 horas. Para consultar registros que superen este periodo, utilice Simple Log Service (SLS) y acceda a los registros de SQL Explorer. Para más detalles, consulte Collect RDS SQL audit logs.

  • Método de consulta: Combine varias condiciones de filtro. No se admite la coincidencia aproximada. Cada palabra clave debe contener como mínimo cuatro caracteres.

Límites de SQL Explorer and Audit

  • Ubicación de almacenamiento: Database Autonomy Service (DAS) almacena los registros de auditoría de forma independiente, por lo que no consumen espacio en el disco local de la instancia de RDS. Habilitar SQL Explorer and Audit no aumenta el uso de disco de la instancia.

  • Registros de inicio de sesión: De forma predeterminada, ApsaraDB RDS for MySQL no registra los eventos de inicio de sesión. Estos eventos se registran únicamente después de habilitar SQL Explorer and Audit. Una vez habilitada la función, puede rastrear los inicios de sesión mediante el tipo de operación LOGIN. Los inicios de sesión anteriores a la habilitación no se conservan ni se pueden recuperar posteriormente.

  • Longitud máxima de la instrucción SQL: Hasta 8192 bytes. Este límite lo controla loose_rds_audit_max_sql_size (MySQL 5.6 y 5.7) o loose_rds_audit_log_event_buffer_size (MySQL 8.0); se aplica el valor más pequeño entre los tres parámetros. Dado que se añade un prefijo durante la recopilación de datos, el límite efectivo es ligeramente inferior a 8192 bytes o al valor configurado.

  • Consultas por identificador de transacción: Establezca el parámetro loose_rds_audit_log_version en MYSQL_V3 y compruebe que la versión secundaria del motor cumpla los requisitos: MySQL 8.0 requiere la versión 20210930 o posterior; MySQL 5.7 requiere la versión 20210630 o posterior. Para más detalles, consulte Parameters supported by ApsaraDB RDS instances that run MySQL 8.0 y Upgrade the minor engine version.

  • SQL Explorer Trial Edition: Las operaciones de API DescribeSQLLogRecords y DescribeSQLLogFiles no están disponibles. Para más detalles, consulte DescribeSQLLogRecords y DescribeSQLLogFiles.

  • Tiempo de espera de bloqueo: Se registra en los registros de SQL Explorer, pero no en los registros de consultas lentas.

  • Método Prepare: SQL Explorer registra dos instrucciones por cada instrucción preparada: una con el marcador de posición de signo de interrogación (?) y otra con el valor real.

Otras consideraciones

  • Proxy de base de datos con pool de conexiones a nivel de transacción: Cuando el pool de conexiones a nivel de transacción está habilitado, las conexiones se pueden reutilizar. Por ello, la dirección IP y el puerto en los registros de SQL Explorer pueden diferir de los que devuelve SHOW PROCESSLIST. Para más detalles, consulte What are database proxies?.

  • Instancias adjuntas de PolarDB-X 1.0: Las instrucciones SQL ejecutadas en una instancia de RDS adjunta a PolarDB-X 1.0 generan varias entradas en los registros de SQL Explorer debido a la fragmentación horizontal.

Habilitación de SQL Explorer and Audit

Si habilita la función de recopilación de registros de auditoría para su instancia de RDS en la aplicación CloudLens for RDS de Simple Log Service, SQL Explorer and Audit se habilita automáticamente. Para más detalles, consulte CloudLens for RDS .
Si SQL Explorer and Audit está deshabilitado y necesita consultar los registros de ejecución de SQL, revise los registros binarios. Estos registros solo contienen operaciones de inserción, eliminación y modificación dentro del periodo de retención de copias de seguridad, y no incluyen direcciones IP de origen ni cuentas. Para más detalles, consulte Manage binary log files .
  1. Vaya a la página Instances. En la barra de navegación superior, seleccione la región donde reside la instancia de RDS. Busque la instancia y haga clic en su ID.

  2. En el panel de navegación izquierdo, elija Autonomy Services > SQL Explorer and Audit.

  3. Haga clic en Enable DAS Enterprise Edition V3.image

  4. Seleccione las subfunciones que desea habilitar y haga clic en Submit.

Modificación de la duración de almacenamiento

Aviso

Reducir la duración de almacenamiento elimina de inmediato los registros de auditoría retenidos por más tiempo que la nueva duración. Exporte y guarde sus registros antes de reducir este valor.

  1. Vaya a la página Instances. Seleccione la región, busque la instancia y haga clic en su ID.

  2. En el panel de navegación izquierdo, elija Autonomy Services > SQL Explorer and Audit.

  3. Haga clic en Service Settings.

  4. En el panel Service Settings, modifique la duración de almacenamiento y haga clic en Submit.

Deshabilitación de SQL Explorer and Audit

Aviso

Deshabilitar SQL Explorer and Audit elimina permanentemente todos los registros de auditoría. Exporte sus registros antes de deshabilitar la función. Si la vuelve a habilitar más adelante, los registros se generarán a partir de ese momento; los registros anteriores no se restaurarán.

  1. Vaya a la página Instances. Seleccione la región, busque la instancia y haga clic en su ID.

  2. En el panel de navegación izquierdo, elija Autonomy Services > SQL Explorer and Audit.

  3. En la sección Logs de la pestaña Search, haga clic en Export.

    Cada exportación abarca hasta 10 millones de registros dentro de una ventana de 7 días. Utilice el parámetro Export Time Range para exportar registros en un intervalo de tiempo más amplio.
  4. En el cuadro de diálogo, configure Exported Fields y Export Time Range, y luego haga clic en OK.

  5. Descargue el archivo de registro exportado y guárdelo de forma local.

  6. Haga clic en Service Settings y deshabilite la función. Si DAS Enterprise V3 está activado, desmarque todas las funciones del módulo SQL Explorer and Audit y haga clic en Submit.

    El espacio de almacenamiento ocupado por los datos de SQL Explorer and Audit se libera una hora después de deshabilitar la función.

Migración de datos entre versiones de DAS Enterprise Edition

Aviso

La migración de datos no se puede detener ni revertir. Lea detenidamente las instrucciones de migración antes de continuar.

Si su instancia de RDS es compatible con DAS Enterprise Edition V3, migre los datos de V1 o V2 a V3 para reducir costos. Para conocer los pasos de migración, consulte How do I migrate data between versions of DAS Enterprise Edition?.

Cada versión utiliza una arquitectura de almacenamiento distinta:

  • V1: Arquitectura de almacenamiento original.

  • V2: Almacenamiento híbrido de datos activos e inactivos, con mayor rendimiento y menor costo que V1.

  • V3: Almacenamiento híbrido de datos activos e inactivos con facturación por función, más flexible que V2.

Preguntas frecuentes

¿Qué indica la instrucción logout! en Full Request Statistics?

logout! marca un evento de desconexión. La duración de ejecución que se muestra corresponde al tiempo de inactividad entre la última interacción y la desconexión. El código de estado 1158 significa desconexión de red, lo cual puede ocurrir por las siguientes razones:

  • Se agotó el tiempo de espera de la conexión del cliente.

  • El servidor cerró la conexión.

  • La conexión superó el valor de interactive_timeout o de wait_timeout.

¿Por qué aparece un signo de porcentaje (%) en la columna Access Source de la pestaña Source Statistics?

Aparece un % en la columna Access Source cuando interviene un procedimiento almacenado. Esto ocurre porque el procedimiento almacenado se define con un DEFINER que incluye % como host; por ejemplo, ` CREATE DEFINER= test_user @% PROCEDURE das () `.

Para reproducir este comportamiento:

  1. En la consola de ApsaraDB RDS, cree una base de datos y una cuenta estándar, y otorgue permisos sobre la base de datos a dicha cuenta. Para más detalles, consulte Create accounts and databases.

  2. Conéctese a la instancia mediante la CLI con la cuenta test_user. Para más detalles, consulte Use a database client or the CLI to connect to an ApsaraDB RDS for MySQL instance.

  3. Cambie a la base de datos testdb y cree un procedimiento almacenado:

    -- Switch to testdb
    USE testdb;
    
    -- Create a stored procedure
    DELIMITER $$
    DROP PROCEDURE IF EXISTS `das` $$
    CREATE DEFINER=`test_user`@`%` PROCEDURE `das`()
    BEGIN
    SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID();
    END $$
    DELIMITER;
  4. Conéctese a la instancia con una cuenta con privilegios. Para más detalles, consulte Use a database client or the CLI to connect to an ApsaraDB RDS for MySQL instance.

  5. Llame al procedimiento almacenado:

    -- Switch to testdb
    USE testdb;
    
    -- Call the stored procedure
    CALL das();

    Resultado esperado:

    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
    | ID     | USER      | HOST   | DB     | COMMAND | TIME | STATE     | INFO                                                                    |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
    | 487818 | test_user | %:2065 | testdb | Query   |    0 | executing | SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID() |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+

Después de ejecutar una consulta que devuelve resultados, la sección Logs muestra cero filas analizadas. ¿Por qué?

La función de caché de consultas rápidas está habilitada. Cuando la misma consulta coincide con la caché, MySQL devuelve directamente el resultado almacenado sin analizar InnoDB, por lo que el recuento de filas analizadas es cero. Para más detalles, consulte Fast query cache.

¿Cuáles son las diferencias entre los registros de SQL Explorer y los registros binarios?

Ambos tipos de registro capturan cambios incrementales en la instancia de RDS, pero difieren en su cobertura y casos de uso:

SQL Explorer logs

Binary logs

Cobertura

Todas las operaciones DQL, DML y DDL.

Solo operaciones de inserción, eliminación y modificación.

Integridad

Puede perderse una pequeña cantidad de registros bajo cargas elevadas.

Preciso dentro del periodo de retención de copias de seguridad.

Disponibilidad

En tiempo real.

No se genera en tiempo real; se transfiere periódicamente a Object Storage Service (OSS) y se retiene durante 7 días.

Incluye IP de origen y cuenta

Sí

No

Más indicado para

Auditorías de cumplimiento, solución de problemas y análisis completo de actividad.

Recuperación de datos mediante información incremental precisa.

Los archivos de registro binario que se están escribiendo actualmente no se pueden transferir a OSS. Como consecuencia, algunos archivos podrían fallar al cargarlos con la función Upload Binlogs. Para más detalles, consulte Obtain and parse binary logs for an RDS for MySQL instance

El punto de entrada de SQL Explorer ha desaparecido de la consola. ¿Por qué?

SQL Explorer and Audit es la versión actualizada de SQL Explorer. Ahora el punto de entrada se denomina SQL Explorer and Audit.

¿Puedo habilitar la función original SQL Explorer?

No. En las instancias de RDS solo se puede habilitar latest version of SQL Explorer and Audit.

¿Se eliminan los registros de auditoría SQL del sistema después de exportarlos?

No. Exportar los registros de auditoría no los elimina del sistema.

¿SQL Explorer and Audit permite configurar alertas a nivel de cuenta de base de datos, por ejemplo, excluir una cuenta específica de las notificaciones de alerta?

No. La configuración de alertas y auditoría de SQL Explorer and Audit se aplica a nivel de instancia y no se puede diferenciar por cuentas de base de datos individuales. Por ejemplo, no es posible configurar "el usuario A no recibe alertas" ni "auditar solo las operaciones del usuario B". Para gestionar las notificaciones de alerta por usuario, fíltrelas en la capa de su aplicación o mediante las políticas de notificación de Cloud Monitor.

¿Cómo utilizo los registros de auditoría para rastrear el origen de una eliminación de datos?

Si los datos de una tabla se eliminan de forma accidental o malintencionada, puede usar SQL Explorer and Audit para identificar la cuenta y la dirección IP que ejecutaron la eliminación:

  1. Inicie sesión en la consola de ApsaraDB RDS. Busque la instancia y haga clic en su ID.

  2. En el panel de navegación izquierdo, elija Autonomy Services > SQL Explorer and Audit.

  3. En la pestaña Audit, dentro de la sección Logs, establezca el intervalo de tiempo para cubrir el periodo en el que ocurrió la eliminación y, de manera opcional, filtre por nombre de base de datos.

  4. Introduzca DELETE en el cuadro de búsqueda de palabras clave SQL y haga clic en el icono de búsqueda.

  5. En los resultados, busque el registro de la operación DELETE y haga clic en él para ver los detalles, incluidos el nombre de la cuenta y la dirección IP del cliente.

Nota

La dirección IP (HostAddress) registrada en los registros de auditoría puede corresponder a la IP del proxy de RDS en lugar de a la IP real del cliente. Para confirmar el origen real de la operación, compárela con la configuración de red de su VPC o revise los registros de conexión del lado del cliente.

¿Cómo combino campos del registro de errores para filtrar los registros de auditoría?

Los campos del registro de errores, como el nombre de la base de datos y la dirección IP del cliente, se pueden usar como condiciones de filtro en SQL Explorer and Audit para localizar conexiones anómalas. Procedimiento:

  1. Inicie sesión en la consola de ApsaraDB RDS y vaya a la página de detalles de la instancia. En el panel de navegación izquierdo, elija Autonomy Services > SQL Explorer and Audit.

  2. En la pestaña Audit, haga clic en Enable Advanced Query para expandir las condiciones de filtro avanzadas.

  3. En el campo Database, introduzca el nombre de la base de datos; por ejemplo, battery.

  4. En el campo Client IP, introduzca el host del registro de errores; por ejemplo, 172.25.244.207.

  5. Establezca Time Range para cubrir el periodo en el que ocurrió la conexión anómala.

  6. Haga clic en Query para ejecutar la consulta con los filtros combinados.

Nota

La condición de filtro Client IP solo se muestra después de hacer clic en Enable Advanced Query. De forma predeterminada, solo aparecen las condiciones de filtro de intervalo de tiempo, palabra clave, usuario, base de datos y tipo de operación.

¿Cómo consulto el historial de inicios de sesión de una instancia?

Puede filtrar los resultados de Search (audit) por tipo de operación. En la página SQL Explorer and Audit, abra la pestaña Search y establezca el filtro Operation type en LOGIN para consultar el historial de inicios de sesión de la instancia. La lista de resultados incluye las columnas User (cuenta de inicio de sesión) y Client IP, que le ayudan a identificar quién inició sesión y desde dónde.

¿Qué hago si no encuentro la instrucción SQL que modificó el estado de una fila específica?

SQL Explorer and Audit registra las operaciones a nivel de instrucción SQL y no ofrece comparación de valores antes y después a nivel de campo. Para ver el valor de un campo específico, como status, antes y después de un cambio, utilice la función de seguimiento de datos de Data Management (DMS) para localizar el origen de la modificación.