• /
  • EnglishEspañolFrançais日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Configuração avançada para monitoramento do MySQL com NRDOT

Visualização

Ainda estamos trabalhando nesse recurso, mas adoraríamos que você experimentasse!

Atualmente, esse recurso é fornecido como parte de uma prévia, de acordo com nossas políticas de pré-lançamento.

É possível configurar as seguintes opções para obter insights mais profundos sobre as instâncias do MySQL:

Planos de consulta para instruções de gravação

Definir explain_mode como procedure permite que o NRDOT Collector colete planos de EXPLAIN para instruções de gravação sem conceder privilégios DML ao usuário de monitoramento. Quando configurado, o receptor procura um procedimento SQL SECURITY DEFINER chamado <schema>.explain_statement. Se esse procedimento não existir ou se o usuário de monitoramento não tiver privilégios de execução sobre ele, o receptor reverterá para o modo inline. Nesse estado, as instruções de gravação falham ao coletar planos de consulta, e o log do coletor exibe o seguinte aviso: unable to execute explain statement.

Para definir o explain_mode como procedure, é necessário executar o seguinte como uma conta privilegiada (por exemplo, root) uma vez por esquema:

DELIMITER //
CREATE DEFINER = 'root'@'%' PROCEDURE <YOUR_SCHEMA>.explain_statement(IN q TEXT)
SQL SECURITY DEFINER
BEGIN
SET @nr_explain_sql = CONCAT('EXPLAIN FORMAT=JSON ', q);
PREPARE nr_explain_stmt FROM @nr_explain_sql;
EXECUTE nr_explain_stmt;
DEALLOCATE PREPARE nr_explain_stmt;
END//
DELIMITER ;
GRANT EXECUTE ON PROCEDURE <YOUR_SCHEMA>.explain_statement TO '<YOUR_DB_USERNAME>'@'%';

A etapa GRANT EXECUTE é necessária para mais do que executar a instrução CALL. Sem esse privilégio, o usuário de monitoramento não pode visualizar o procedimento em information_schema.ROUTINES, que o receptor usa para verificar a existência. Omitir GRANT EXECUTE produz o mesmo resultado que um procedimento ausente, fazendo com que o receptor reverta para o modo inline em ambos os casos.

Dica

Esta configuração é stateful por esquema. A criação ou restauração de um banco de dados, ou a exclusão de um procedimento, desativa silenciosamente a coleta de planos de instrução de gravação para esse esquema e aciona um fallback para o modo inline. As rotinas armazenadas SQL SECURITY DEFINER aplicam os privilégios do definidor ao SQL dinâmico executado por meio de instruções PREPARE/EXECUTE dentro delas. Isso permite que um usuário de monitoramento apenas de SELECTrecupere planos para instruções para as quais não possui privilégios de execução direta.

Habilitar o rastreamento da duração da espera de bloqueio

O consumidor events_waits_current fornece informações sobre a duração da espera de bloqueio, mas requer configuração específica da plataforma:

Plataforma

Método

Persistente entre reinicializações?

MySQL autogerenciado

performance-schema-consumer-events-waits-current=ON

em

[mysqld]

(

my.cnf

)

Sim

AWS RDS

UPDATE performance_schema.setup_consumers SET ENABLED='YES' WHERE NAME='events_waits_current';

Não

: é redefinido na reinicialização/failover. Executar novamente após cada reinicialização, ou conceder ao usuário receptor este

UPDATE

para que possa reativar o consumidor automaticamente na reconexão.

Compatibilidade e pré-requisitos

Saiba mais sobre as versões suportadas do MySQL, os requisitos de rede e os parâmetros de servidor recomendados.

Instrumentação em ambientes auto-hospedados

Saiba como configurar o monitoramento do MySQL em ambientes auto-hospedados com o New Relic.

Instrumentação em ambientes RDS

Saiba como configurar o monitoramento do MySQL em ambientes RDS com o New Relic.

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.