Plug-ins e Componentes

Determinados plug-ins e componentes do MySQL Server são carregados no sistema de banco de dados automaticamente. Não é necessário instalar nenhum desses plug-ins.

  • Pool de Threads do MySQL Enterprise: O plug-in do pool de threads fornece um modelo alternativo de tratamento de threads projetado para reduzir a sobrecarga e melhorar o desempenho. Consulte Pool de Threads do MySQL Enterprise.
    HeatWave O sistema de banco de dados registra o número de conexões gerenciadas pelo plug-in do pool de threads. Uma mensagem é gravada no log de erros a cada intervalo de dois minutos. O intervalo é reduzido para 12 segundos nos primeiros três minutos após o início bem-sucedido do sistema de banco de dados. As conexões são agrupadas em usuários não administradores (usuários sem o privilégio TP_CONNECTION_ADMIN) e usuários administradores (usuários com o privilégio TP_CONNECTION_ADMIN). Para cada grupo, são fornecidas as seguintes informações:
    • Gerenciado: Sessões que estão abertas no momento no final do intervalo de registro em log e tratadas pelos grupos de threads.
    • Delta: Alteração no número de sessões gerenciadas durante o último intervalo de log.
    • Ativo: Sessões que estiveram ativas (executando uma consulta) em algum momento durante o último intervalo.
    • Aberto: Sessões que foram abertas durante o último intervalo.
    • Fechado: Sessões que foram fechadas durante o último intervalo.
    • Adicionado: Sessões que foram abertas durante o último intervalo e que ainda não foram fechadas.
    • Eliminado: Sessões que foram abertas em um intervalo anterior e fechadas durante o último intervalo.
    A partir de MySQL 9.1.0, ele também mostra as estatísticas das conexões que estão sendo estabelecidas. As seguintes informações são fornecidas:
    • Em: Número de solicitações de conexão de entrada no último intervalo.
    • Fila: Número de solicitações atualmente nas filas entre o servidor e o pool de threads.
    • Autenticação: Número de solicitações que estão sendo autenticadas no momento.
    • Erro: Número de solicitações abortadas no último intervalo antes de serem entregues ao pool de threads.
    • Ok: Número de solicitações tratadas com sucesso e entregues ao pool de threads como novas sessões gerenciadas no último intervalo.
    Você pode exibir estas mensagens com esta consulta SQL:
    SELECT * FROM performance_schema.error_log WHERE DATA LIKE 'TP conn%'\G
    Esta é uma linha de exemplo da saída em MySQL 9.1.0:
        LOGGED: 2024-10-28 05:41:33.402235
     THREAD_ID: 0
          PRIO: Note
    ERROR_CODE: MY-015507
     SUBSYSTEM: Server
          DATA: TP conn (init: in, queue, auth, err, ok. 
                         port: managed(delta), active, opened, closed, added, dropped.):
                         Init: 23, 2, 5, 2, 18. 
                         Usr: 6(+1), 6, 17, 15, 2, 1. Adm: 2(+1), 2, 1, 0, 1, 0.
    
    Na saída de amostra, 23 solicitações de conexão foram recebidas durante o último intervalo. Ainda há 2 solicitações na fila e cinco solicitações estão sendo autenticadas. Ele tratou de 20 solicitações de conexão em que 18 foram entregues aos grupos de pools de threads e 2 falharam. O grupo usr mostra que há 1 sessão de usuário a mais do que o intervalo anterior, fornecendo um total de 6 sessões de usuário no final desse intervalo. Todas as 6 sessões executaram uma ou mais consultas no intervalo. Há 17 novas sessões sendo abertas e 15 sessões sendo fechadas durante esse intervalo. No final do intervalo, 2 das sessões recém-abertas não foram fechadas enquanto 1 sessão do intervalo anterior foi fechada.
    Para um pool de threads com thread_pool_size=N, haverá grupos de threads N sobre os quais as sessões dos usuários não administradores serão designadas de forma round robin, enquanto há um único grupo de threads ao qual as sessões do usuário administrador serão designadas. O pool de threads terá grupos de threads N+1.
    Observação

    É recomendável criar uma conta de usuário separada concedida apenas com os privilégios necessários para seu aplicativo, em vez de usar a conta de administrador para todos os fins. Consulte Declaração CREATE USER e Declaração GRANT.
  • Plug-in do MySQL Enterprise Audit: O plug-in de auditoria permite que o MySQL Server produza um arquivo de log contendo um registro de auditoria da atividade do servidor. O conteúdo do log inclui quando os clientes se conectam e se desconectam, e quais ações eles executam enquanto conectados, como quais bancos de dados e tabelas eles acessam. Você pode adicionar estatísticas para o tempo e o tamanho de cada consulta para detectar discrepâncias. Você não pode alterar os valores padrão do plug-in.
    • audit_log_buffer_size: 10485760
    • audit_log_compression: GZIP
    • audit_log_database: mysql_audit
    • audit_log_file: /db/audit/audit.log
    • audit_log_flush_interval_seconds: 60
    • audit_log_format: JSON
    • audit_log_format_unix_timestamp: ON
    • audit_log_max_size: 5368709120
    • audit_log_prune_seconds: 604800
    • audit_log_rotate_on_size: 52428800
    Por padrão, os logs do plug-in de auditoria são desativados, e você precisa definir filtros para ativar o registro em log de todos os eventos auditáveis de todos os usuários. Consulte Definindo Filtros de Plug-in de Auditoria. Por padrão, há poucos privilégios globais concedidos e poucos privilégios revogados do esquema mysql_audit. Consulte Privilégios Padrão do MySQL e Plug-in do MySQL Enterprise Audit.
  • O plug-in connection_control: o MySQL Server inclui uma biblioteca de plug-ins que permite aos administradores introduzir um atraso crescente na resposta do servidor às tentativas de conexão após um número configurável de tentativas com falha consecutivas. O valor padrão das variáveis do plug-in connection-control é o seguinte, e você não pode alterar os valores padrão:
    • connection_control_failed_connections_threshold: 3
    • connection_control_max_connection_delay: 10000
    • connection_control_min_connection_delay: 1000
    Consulte Plug-ins de Controle de Conexão.
  • O componente validate_password: O componente serve para melhorar a segurança exigindo senhas de contas e permitindo o teste de força de possíveis senhas. O valor padrão das variáveis do componente validate_password é o seguinte, e você não pode alterar os valores padrão:
    • validate_password.check_user_name: ON
    • validate_password.length: 8
    • validate_password.mixed_case_count: 1
    • validate_password.number_count: 1
    • validate_password.policy: MEDIUM
    • validate_password.special_char_count: 1
    Consulte Componente de Validação de Senha.
  • Mascaramento de dados: As funções de mascaramento de finalidade geral ocultam strings arbitrárias, funções de mascaramento de finalidade especial ocultam tipos específicos de valores e geram funções que geram valores aleatórios. Consulte Máscara de Dados.