1. Introdução
No MySQL, binlog refere-se a log binário, arquivo de log binário. Este arquivo registra todas as operações DML do MySQL. Por meio de logs binários, podemos fazer recuperação de dados, replicação mestre-escravo e assim por diante. Para o pessoal de operação e manutenção ou arquitetura, é muito importante habilitar a função log binlog.
2 binlog aberto
(Como abrir o log binário do MySQL? Dois métodos serão apresentados abaixo)
2.1 Método 1: Adicionar parâmetros no arquivo de configuração principal my.cnf
No arquivo de configuração principal my.cnf, localize o módulo [mysqld] e adicione as três linhas de parâmetros a seguir.
log_bin=ON
log_bin_basename=/var/lib/mysql/mysql-bin
log_bin_index=/var/lib/mysql/mysql-bin.index
Explicação do parâmetro:
- log_bin: Abra o arquivo de log binlog, o valor padrão é OFF.
- log_bin_basename: O nome do arquivo base do log binlog. O MySQL anexará um identificador após o nome do arquivo para representar cada arquivo binlog.
- log_bin_index: O arquivo de índice do arquivo binlog, que gerencia todos os arquivos binlog.
2.2 Método 2: Use o parâmetro log-bin
Se você estiver usando o MySQL 5.7 e superior, é mais conveniente usar o parâmetro log-bin. No arquivo de configuração my.cnf, localize o módulo [mysqld] e adicione a seguinte linha de parâmetros.
log-bin=/var/lib/mysql/mysql-bin
Explicação do parâmetro:
- A função deste parâmetro é a mesma dos três parâmetros acima. O MySQL abrirá automaticamente o log binlog de acordo com esta configuração e definirá automaticamente o arquivo log_bin_index com o nome do arquivo especificado seguido por .index. O parâmetro log-bin especifica o nome do arquivo base do arquivo binlog.
- Deve-se observar que, se você usar o MySQL 5.7 e superior, deverá adicionar um parâmetro adicional server-id=123454 (especificar aleatoriamente uma cadeia de caracteres que não pode ser duplicada), caso contrário, um erro será relatado quando você reiniciar o serviço MySQL.
Em seguida, reinicie o serviço mysql.
2.3 Reinicie o serviço mysql
- No CentOS 6, reinicie o serviço MySQL com o seguinte comando:
service mysqld restart
- No CentOS 7, reinicie o serviço MySQL com o seguinte comando:
systemctl restart mysqld
3 Verifique se o log binário está ativado
Depois de habilitar o log binlog, podemos fazer login no terminal mysql ou no cliente Navicat e executar o seguinte comando para verificar se o log binlog foi habilitado com sucesso:
show variables like '%log_bin%';
Ao mesmo tempo, no diretório /var/lib/mysql, você pode ver vários arquivos mysql-bin e um arquivo mysql-bin.index, que indica que o log binlog foi habilitado com sucesso.