Logs do MariaDB oferecem recursos abrangentes que ajudam você a monitorar e otimizar suas instâncias de banco de dados. Apresentamos os diferentes tipos de MariaDB logs e ensinamos como configurá-los e ativá-los.

Quais tipos de MariaDB logs existem?

O MariaDB disponibiliza quatro tipos principais de log, que registram diferentes aspectos do funcionamento do banco de dados:

Error log

O log de erros documenta eventos críticos, como inicializações e desligamentos do servidor, falhas ou outros erros graves. Ele vem ativado por padrão e auxilia no diagnóstico de problemas no servidor.

General query log

O log geral do MariaDB registra todas as conexões ao servidor e todos os comandos SQL executados. Por isso, é útil para análise de erros e monitoramento das atividades dos usuários.

Binary log

O log binário do MariaDB registra todas as alterações no banco de dados, incluindo alterações em dados e na estrutura do banco de dados. Ele é essencial para replicações e restaurações com base em um ponto no tempo (point-in-time recovery).

Slow query log

O log de consultas lentas do MariaDB lista as consultas SQL que excedem um determinado tempo de execução. Ele é uma ferramenta valiosa para identificar e otimizar gargalos de desempenho.

Cloud Compute Engine da IONOS

Empresas de médio e grande porte optam pela nuvem da Alemanha. Serviços IaaS e PaaS são para campeões.

  • Seguro
  • Confiável
  • Flexível

Passo a passo: Como configurar e usar MariaDB logs

A seguir, mostramos como ativar, configurar e analisar os quatro principais arquivos de log do MariaDB. Vamos abordar o log de erros, o log geral, o log binário, o log de consultas lentas e mostrar onde os logs do MariaDB ficam armazenados.

Pré-requisitos

  • Um servidor com uma versão atual do Ubuntu ou outra distribuição Linux
  • Uma conta de usuário com permissões de sudo
  • Nenhuma instalação paralela do MySQL, já que o MySQL e o MariaDB entram em conflito em arquivos de configuração e portas
  • Conhecimentos básicos em SQL

Passo 1: Exibir e configurar o error log

Primeiramente, instale o MariaDB, caso ele não esteja instalado. Para isso, execute o seguinte comando:

sudo apt update
sudo apt install mariadb-server
bash

O comando atualiza primeiro a lista de pacotes do seu sistema e, em seguida, instala o servidor MariaDB.

Para se conectar ao MariaDB, execute o seguinte comando:

sudo mariadb
bash

Isso abrirá o console interativo SQL como administrador.

Na etapa seguinte, verifique para onde o MariaDB está registrando mensagens como erros. Para isso, use esta instrução SQL:

SHOW VARIABLES LIKE '%log_error%';
sql

Se o valor de log_error estiver vazio, os erros serão registrados por padrão no log central do sistema (syslog).

Para visualizar esse log, utilize o seguinte comando:

journalctl -u mariadb.service
bash

Com isso, você obterá uma lista cronológica das mensagens do sistema geradas pelo serviço MariaDB. Isso é útil para investigar erros de inicialização ou outros eventos críticos.

Se preferir usar um arquivo próprio de log de erros, será necessário editar o arquivo de configuração. Abra-o com um editor de texto, como o nano:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
bash

Procure pela seção [mysqld] e adicione a seguinte linha ou remova o comentário dela, se já estiver presente:

log_error = /var/log/mariadb/error.log
txt

Agora, verifique se o diretório especificado existe e tem as permissões corretas. Execute estes comandos:

sudo mkdir /var/log/mariadb
sudo chown mysql:mysql /var/log/mariadb
bash

Esses comandos criam o diretório e atribuem a ele o usuário e grupo mysql, para que o MariaDB tenha permissão de escrita no local do log.

Em seguida, reinicie o serviço MariaDB para aplicar as alterações de configuração:

sudo systemctl restart mariadb
bash

Por fim, você poderá visualizar o log de erros:

sudo cat /var/log/mariadb/error.log
bash

Lá você encontrará informações sobre horários de inicialização, avisos ou problemas com plugins.

Passo 2: Ativar o general query log

Para verificar o status atual, abra o console SQL e execute o seguinte comando:

SHOW VARIABLES LIKE '%general%';
sql

Lá você verá se o general query log está ativo (general_log = ON) e onde ele está armazenado (general_log_file).

Para ativar esses logs do MariaDB permanentemente, edite novamente o arquivo de configuração:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
bash

Adicione as seguintes linhas na seção [mysqld]:

general_log = 1
general_log_file = /var/log/mariadb/general-query.log
ini

Depois, reinicie o serviço:

sudo systemctl restart mariadb
bash

Para visualizar as entradas registradas, use:

sudo cat /var/log/mariadb/general-query.log
bash

Lá você encontrará todas as consultas SQL e conexões ao banco, incluindo o carimbo de data e hora. Isso ajuda a identificar quando cada solicitação foi feita.

Passo 3: Ativar o binary log

Para configurar o binary log, edite novamente o arquivo de configuração usado anteriormente:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
bash

Adicione os seguintes parâmetros na seção [mysqld]:

log_bin = /var/log/mariadb/binary.log
server_id = 1
binlog_format = ROW
txt

O server_id é importante para replicação (cada servidor precisa de um ID único). Com binlog_format = ROW, cada alteração nos dados é registrada no log de forma detalhada, linha por linha.

Reinicie o servidor:

sudo systemctl restart mariadb
bash

Para verificar se o binary log está ativo, digite no console SQL:

SHOW BINARY LOGS;
sql

Serão exibidos os arquivos de log binário ativos, com nome e tamanho.

Para ler o conteúdo de um arquivo, use o seguinte comando:

sudo mysqlbinlog /var/log/mariadb/binary.000001
bash

Você verá todas as operações de alteração listadas em ordem cronológica.

Passo 4: Ativar o slow query log

Edite o arquivo de configuração:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
bash

Adicione o seguinte:

slow_query_log = 1
slow_query_log_file = /var/log/mariadb/slow-query.log
long_query_time = 10
txt

Aqui, long_query_time = 10 significa que todas as consultas que demorarem mais de dez segundos serão registradas.

Depois, reinicie o serviço:

sudo systemctl restart mariadb
bash

Verifique se o log está ativo:

SHOW VARIABLES LIKE '%slow_query_log%';
sql

Execute uma consulta de teste que é intencionalmente lenta:

SELECT SLEEP(12);
sql

Esse comando instrui o servidor a aguardar doze segundos antes de concluir a execução. Assim, a consulta deverá aparecer no slow query log.

Por fim, você pode visualizar o log com:

sudo cat /var/log/mariadb/slow-query.log
bash

Lá você encontrará o carimbo de data/hora, o tempo da consulta e o comando SQL executado.

Para saber mais sobre análises de arquivos de log, acesse o artigo especializado do nosso Digital Guide.

Este artigo foi útil?
Ir para o menu principal