Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Use the SQL Explorer and Audit feature

Última atualização: Sep 02, 2026

O SQL Explorer and Audit captura todas as instruções SQL executadas na sua instância do ApsaraDB RDS for MySQL — incluindo conta, endereço IP de origem e detalhes de execução — e as armazena como logs de auditoria. Use esses dados para:

  • Manter um histórico completo de auditoria de todas as operações de Data Query Language (DQL), Data Manipulation Language (DML) e Data Definition Language (DDL) para conformidade com segurança

  • Investigar problemas de desempenho, sessões anômalas e o status de integridade do SQL

  • Recuperar dados reproduzindo as instruções SQL registradas após perda ou corrupção de dados

Importante

O SQL Explorer and Audit captura dados diretamente dos kernels do banco de dados usando poucos recursos de CPU. Ativar e usar esse recurso causa impacto mínimo no desempenho da instância.

Pré-requisitos

Antes de começar, verifique se você tem:

Se um usuário RAM precisar usar o recurso SQL statement search, anexe a política AliyunRDSReadOnlyWithSQLLogArchiveAccess a esse usuário RAM. Para mais detalhes, consulte Use RAM to manage ApsaraDB RDS permissions ou grant permissions using a custom policy que abranja os recursos de pesquisa e exportação.

No console do ApsaraDB RDS, é possível ativar apenas o recurso SQL Explorer and Audit fornecido pela versão mais recente do DAS Enterprise Edition compatível com a região atual.

Regiões suportadas

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

Capacidade

Descrição

Search (audit)

Consulte e exporte registros de execução de instruções SQL, incluindo banco de dados, status e tempo de execução

SQL Explorer

Diagnostique a integridade do SQL, solucione problemas de desempenho e analise o tráfego de negócios

Security audit

Identifique riscos: instruções SQL de alto risco, ataques de injeção de SQL e novas fontes de acesso

Traffic playback and stress testing

Reproduza tráfego real para verificar se sua instância precisa de scale out

SQL analysis

Analise instruções SQL em um intervalo de tempo para identificar consultas anômalas e localizar gargalos de desempenho

Este recurso é adequado para:

  • Setores que exigem alta segurança de dados, como finanças, segurança pública, mercado de ações, service público e seguros

  • Solução de problemas, análise de desempenho de SQL e identificação de sessões anômalas

  • Recuperação de perda ou corrupção de dados usando instruções SQL registradas pelo recurso

Faturamento

O faturamento depende de quando e como você ativou o recurso.

Se você ativou o recurso original SQL Explorer antes da atualização para SQL Explorer and Audit, a taxa está incluída na sua fatura do ApsaraDB RDS. O preço baseia-se na região da instância e a cobrança é por GB-hora:

Taxa

Regiões

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 atualizar do SQL Explorer para o SQL Explorer and Audit: faça login no console do ApsaraDB RDS, acesse a aba SQL Explorer e clique em One click upgrade na caixa de diálogo. Após a atualização, o faturamento passa para a sua fatura do DAS.

Se o SQL Explorer and Audit for ativado após a atualização, a taxa estará incluída na sua fatura do DAS. As regiões suportadas e as taxas variam conforme a versão do DAS Enterprise Edition. Para mais detalhes, consulte DAS editions and supported features e Billing.

Limites

Limites de consulta online

  • Intervalo de tempo: Cada consulta abrange uma janela de até 24 horas. Para consultar registros que abrangem mais de 24 horas, use o Simple Log Service (SLS) para acessar os logs do SQL Explorer. Para mais detalhes, consulte Collect RDS SQL audit logs.

  • Método de consulta: Combine várias condições de filtro. Não há suporte para correspondência aproximada. Cada palavra-chave deve conter pelo menos quatro caracteres.

Limites do SQL Explorer and Audit

  • Local de armazenamento: O Database Autonomy Service (DAS) armazena os logs de auditoria separadamente, sem consumir o espaço em disco local da sua instância RDS. Ativar o SQL Explorer and Audit não aumenta o uso de disco da instância.

  • Registros de login: O ApsaraDB RDS for MySQL não registra eventos de login por padrão. O sistema registra esses eventos somente após você ativar o SQL Explorer and Audit. Depois disso, é possível rastrear os registros de login usando o tipo de operação LOGIN. Logins ocorridos antes da ativação do recurso não são retidos nem podem ser recuperados posteriormente.

  • Comprimento máximo da instrução SQL: Até 8.192 bytes. O limite é controlado por loose_rds_audit_max_sql_size (MySQL 5.6 e 5.7) ou loose_rds_audit_log_event_buffer_size (MySQL 8.0). Aplica-se o menor valor entre os três parâmetros. Como um prefixo é adicionado durante a coleta de dados, o limite efetivo é ligeiramente inferior a 8.192 bytes ou ao valor configurado.

  • Consulta por ID de transação: Defina o parâmetro loose_rds_audit_log_version como MYSQL_V3 e certifique-se de que a versão secundária do mecanismo atenda aos requisitos: o MySQL 8.0 exige a versão 20210930 ou posterior; o MySQL 5.7 exige a versão 20210630 ou posterior. Para mais detalhes, consulte Parameters supported by ApsaraDB RDS instances that run MySQL 8.0 e Upgrade the minor engine version.

  • SQL Explorer Trial Edition: As operações de API DescribeSQLLogRecords e DescribeSQLLogFiles não estão disponíveis. Para mais detalhes, consulte DescribeSQLLogRecords e DescribeSQLLogFiles.

  • Tempo de espera de bloqueio: Registrado nos logs do SQL Explorer, mas não nos logs de consultas lentas.

  • Método Prepare: O SQL Explorer registra duas instruções para cada prepared statement: uma com o marcador de posição de ponto de interrogação (?) e outra com o valor real.

Outras considerações

  • Proxy de banco de dados com pool de conexões no nível de transação: Quando o pool de conexões no nível de transação está ativado, as conexões podem ser reutilizadas. O endereço IP e a porta nos logs do SQL Explorer podem diferir do retorno do comando SHOW PROCESSLIST. Para mais detalhes, consulte What are database proxies?

  • Instâncias anexadas ao PolarDB-X 1.0: Instruções SQL executadas em uma instância RDS anexada ao PolarDB-X 1.0 geram múltiplas entradas de log no SQL Explorer devido ao sharding horizontal.

Ativar o SQL Explorer and Audit

Ativar o recurso de coleta de logs de auditoria para sua instância RDS no aplicativo CloudLens for RDS do Simple Log Service ativa automaticamente o SQL Explorer and Audit. Para mais detalhes, consulte CloudLens for RDS .
Se o SQL Explorer and Audit estiver desativado e você precisar visualizar registros de execução de SQL, verifique os binary logs. Os binary logs contêm apenas operações de adição, exclusão e modificação dentro do período de retenção de backup. Endereços IP de origem e contas não estão disponíveis. Para mais detalhes, consulte Manage binary log files .
  1. Acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS reside. Encontre a instância e clique no respectivo ID.

  2. No painel de navegação à esquerda, escolha Autonomy Services > SQL Explorer and Audit.

  3. Clique em Enable DAS Enterprise Edition V3.image

  4. Selecione os sub-recursos a serem ativados e clique em Submit.

Modificar a duração de armazenamento

Aviso

Reduzir a duração de armazenamento exclui imediatamente os logs de auditoria retidos por um período superior à nova duração. Exporte e salve seus logs antes de reduzir a duração de armazenamento.

  1. Acesse a página Instances. Selecione a região, encontre a instância e clique no respectivo ID.

  2. No painel de navegação à esquerda, escolha Autonomy Services > SQL Explorer and Audit.

  3. Clique em Service Settings.

  4. No painel Service Settings, modifique a duração de armazenamento e clique em Submit.

Desativar o SQL Explorer and Audit

Aviso

Desativar o SQL Explorer and Audit exclui permanentemente todos os logs de auditoria. Exporte seus logs antes de desativar o recurso. Se você reativar o recurso posteriormente, os logs serão registrados a partir do momento da reativação. Os logs anteriores não serão restaurados.

  1. Acesse a página Instances. Selecione a região, encontre a instância e clique no respectivo ID.

  2. No painel de navegação à esquerda, escolha Autonomy Services > SQL Explorer and Audit.

  3. Na seção Logs da aba Search, clique em Export.

    Cada exportação cobre até 10 milhões de registros dentro de uma janela de 7 dias. Use o parâmetro Export Time Range para exportar logs em um intervalo de tempo mais amplo.
  4. Na caixa de diálogo, configure Exported Fields e Export Time Range e clique em OK.

  5. Baixe o arquivo de log exportado e salve-o localmente.

  6. Clique em Service Settings e desative o recurso. Se o DAS Enterprise V3 estiver ativado, desmarque todos os recursos no módulo SQL Explorer and Audit e clique em Submit.

    O espaço de armazenamento ocupado pelos dados do SQL Explorer and Audit é liberado uma hora após a desativação do recurso.

Migrar dados entre versões do DAS Enterprise Edition

Aviso

Não é possível interromper ou reverter a migração de dados. Leia atentamente as instruções de migração antes de prosseguir.

Se sua instância RDS suportar o DAS Enterprise Edition V3, migre os dados da V1 ou V2 para a V3 para reduzir custos. Para etapas de migração, consulte How do I migrate data between versions of DAS Enterprise Edition?

Cada versão usa uma arquitetura de armazenamento diferente:

  • V1: Arquitetura de armazenamento original

  • V2: Armazenamento híbrido de dados quentes e frios. Oferece maior desempenho com custo menor que a V1

  • V3: Armazenamento híbrido de dados quentes e frios com faturamento por recurso. É mais flexível que a V2

FAQ

O que a instrução logout! em Full Request Statistics indica?

logout! marca um evento de desconexão. A duração de execução mostrada é o tempo ocioso entre a última interação e a desconexão. O código de status 1158 significa desconexão de rede, o que pode ocorrer pelos seguintes motivos:

  • A conexão do cliente expirou

  • O servidor desconectou

  • A conexão excedeu o valor de interactive_timeout ou wait_timeout

Por que um sinal de porcentagem (%) aparece na coluna Access Source na aba Source Statistics?

Um % na coluna Access Source aparece quando uma stored procedure está envolvida. Isso ocorre porque a stored procedure é definida com um DEFINER que inclui % como host. Exemplo: ` CREATE DEFINER= test_user @% PROCEDURE das () `.

Para reproduzir esse comportamento:

  1. No console do ApsaraDB RDS, crie um banco de dados e uma conta padrão e conceda permissões nesse banco de dados para essa conta. Para mais detalhes, consulte Create accounts and databases.

  2. Conecte-se à instância usando a conta test_user via CLI. Para mais detalhes, consulte Use a database client or the CLI to connect to an ApsaraDB RDS for MySQL instance.

  3. Mude para o banco de dados testdb e crie uma stored procedure:

    -- 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. Conecte-se à instância usando uma conta privilegiada. Para mais detalhes, consulte Use a database client or the CLI to connect to an ApsaraDB RDS for MySQL instance.

  5. Chame a stored procedure:

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

    Saída esperada:

    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
    | 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() |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+

Após executar uma consulta que retorna resultados, a seção Logs mostra zero linhas verificadas. Por quê?

O recurso de cache de consulta rápida está ativado. Quando a mesma consulta atinge o cache, o MySQL retorna o resultado armazenado em cache diretamente sem verificar o InnoDB. Portanto, a contagem de linhas verificadas é zero. Para mais detalhes, consulte Fast query cache.

Quais são as diferenças entre os logs do SQL Explorer e os binary logs?

Ambos os tipos de log capturam alterações incrementais na sua instância RDS, mas diferem na cobertura e nos casos de uso:

Logs do SQL Explorer

Binary logs

Cobertura

Todas as operações DQL, DML e DDL

Apenas operações de adição, exclusão e modificação

Completude

Um pequeno número de registros pode ser perdido sob carga pesada

Preciso dentro do período de retenção de backup

Disponibilidade

Tempo real

Não gerado em tempo real; transferido periodicamente para o Object Storage Service (OSS), retido por 7 dias

Inclui IP de origem e conta

Sim

Não

Ideal para

Auditoria de conformidade, solução de problemas, análise completa de atividades

Recuperação de dados usando dados incrementais precisos

Arquivos de binary log que estão sendo gravados atualmente não podem ser transferidos para o OSS. Como resultado, alguns arquivos podem falhar ao fazer upload ao usar o recurso Upload Binlogs. Para mais detalhes, consulte How do I remotely obtain and parse the binary log file of an ApsaraDB RDS for MySQL instance?

O ponto de entrada do SQL Explorer desapareceu do console. Por quê?

O SQL Explorer and Audit é uma versão atualizada do SQL Explorer. O ponto de entrada agora está rotulado como SQL Explorer and Audit.

Posso ativar o recurso original SQL Explorer?

Não. Apenas a latest version of SQL Explorer and Audit pode ser ativada em instâncias RDS.

Os registros de auditoria de SQL são excluídos do sistema após eu exportá-los?

Não. Exportar registros de auditoria não os exclui do sistema.

O SQL Explorer and Audit suporta a configuração de alertas no nível da conta do banco de dados, por exemplo, excluindo uma conta específica das notificações de alerta?

Não. As configurações de alerta e auditoria do SQL Explorer and Audit aplicam-se no nível da instância e não podem ser diferenciadas para contas de banco de dados individuais. Por exemplo, você não pode configurar "o usuário A não recebe alertas" ou "auditar apenas as operações do usuário B". Para gerenciar notificações de alerta por usuário, filtre-as na camada da sua aplicação ou usando políticas de notificação do Cloud Monitor.

Como uso logs de auditoria para rastrear a origem de uma exclusão de dados?

Se os dados da tabela forem excluídos acidentalmente ou maliciosamente, use o SQL Explorer and Audit para identificar a conta e o endereço IP que realizaram a exclusão:

  1. Faça login no console do ApsaraDB RDS. Encontre a instância e clique no respectivo ID.

  2. No painel de navegação à esquerda, escolha Autonomy Services > SQL Explorer and Audit.

  3. Na aba Audit, na seção Logs, defina o intervalo de tempo para cobrir o período em que a exclusão ocorreu e, opcionalmente, filtre pelo nome do banco de dados.

  4. Insira DELETE na caixa de pesquisa de palavras-chave SQL e clique no ícone de pesquisa.

  5. Nos resultados, localize o registro da operação DELETE e clique nele para visualizar os detalhes, incluindo o nome da conta e o endereço IP do cliente.

Nota

O endereço IP (HostAddress) registrado nos logs de auditoria pode ser o endereço IP do proxy RDS em vez do endereço IP real do cliente. Para confirmar a origem real da operação, faça uma referência cruzada com a configuração de rede da sua VPC ou verifique os logs de conexão no lado do cliente.

Como combino campos de log de erros para filtrar registros de auditoria?

Use campos de logs de erros, como o nome do banco de dados e o endereço IP do cliente, como condições de filtro no SQL Explorer and Audit para localizar conexões anômalas. Procedimento:

  1. Faça login no console do ApsaraDB RDS e acesse a página de detalhes da instância. No painel de navegação à esquerda, escolha Autonomy Services > SQL Explorer and Audit.

  2. Na aba Audit, clique em Enable Advanced Query para expandir as condições avançadas de filtro.

  3. No campo Database, insira o nome do banco de dados, por exemplo, battery.

  4. No campo Client IP, insira o host do log de erros, por exemplo, 172.25.244.207.

  5. Defina o Time Range para cobrir o período em que a conexão anômala ocorreu.

  6. Clique em Query para executar a consulta de filtro combinada.

Nota

A condição de filtro Client IP é exibida somente após você clicar em Enable Advanced Query. Por padrão, apenas as condições de filtro de intervalo de tempo, palavra-chave, usuário, banco de dados e tipo de operação são mostradas.

Como consulto o histórico de logins de uma instância?

Filtre os resultados de Search (audit) por tipo de operação. Na página SQL Explorer and Audit, abra a aba Search e defina o filtro Operation type como LOGIN para consultar o histórico de logins da instância. A lista de resultados inclui as colunas User (conta de login) e Client IP, que ajudam a identificar quem fez login e de onde.

O que faço se não conseguir encontrar a instrução SQL que alterou o status de uma linha específica?

O SQL Explorer and Audit registra operações no nível da instrução SQL e não fornece comparação de valores antes e depois no nível do campo. Para visualizar o valor de um campo específico, como status, antes e depois de uma alteração, use o recurso de rastreamento de dados do Data Management (DMS) para localizar a origem da mudança.