Tudo sobre MariaDB logs
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.
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-serverbashO 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 mariadbbashIsso 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%';sqlSe 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.servicebashCom 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.cnfbashProcure 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.logtxtAgora, 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/mariadbbashEsses 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 mariadbbashPor fim, você poderá visualizar o log de erros:
sudo cat /var/log/mariadb/error.logbashLá 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%';sqlLá 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.cnfbashAdicione as seguintes linhas na seção [mysqld]:
general_log = 1
general_log_file = /var/log/mariadb/general-query.loginiDepois, reinicie o serviço:
sudo systemctl restart mariadbbashPara visualizar as entradas registradas, use:
sudo cat /var/log/mariadb/general-query.logbashLá 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.cnfbashAdicione os seguintes parâmetros na seção [mysqld]:
log_bin = /var/log/mariadb/binary.log
server_id = 1
binlog_format = ROWtxtO 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 mariadbbashPara verificar se o binary log está ativo, digite no console SQL:
SHOW BINARY LOGS;sqlSerã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.000001bashVocê 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.cnfbashAdicione o seguinte:
slow_query_log = 1
slow_query_log_file = /var/log/mariadb/slow-query.log
long_query_time = 10txtAqui, 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 mariadbbashVerifique se o log está ativo:
SHOW VARIABLES LIKE '%slow_query_log%';sqlExecute uma consulta de teste que é intencionalmente lenta:
SELECT SLEEP(12);sqlEsse 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.logbashLá 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.

