Este tópico descreve como ativar o log binário para um cluster PolarDB.
Contexto
O PolarDB é um banco de dados nativo da cloud totalmente compatível com o MySQL. Por padrão, ele utiliza logs físicos de nível mais alto em vez de logs binários. Para uma melhor integração com o ecossistema MySQL, o PolarDB permite a ativação manual do log binário. Após ativar o log binário, você pode se conectar a services de dados como ElasticSearch e AnalyticDB, além de configurar a sincronização de dados em tempo real do PolarDB para o RDS, do RDS para o PolarDB ou entre clusters do PolarDB.
Limites
Se o seu cluster PolarDB foi criado após 5 de abril de 2019, você pode ativar o log binário diretamente. Se o seu cluster PolarDB foi criado antes de 5 de abril de 2019, é necessário primeiro atualizar a versão secundária do seu cluster para a versão mais recente antes de ativar o log binário. Para mais informações sobre como atualizar a versão secundária, consulte {{XREF_0}}.
Faturamento
Os arquivos de log binário ocupam parte do espaço de armazenamento do cluster e geram taxas de armazenamento. Você pode ajustar o espaço de armazenamento ocupado pelos arquivos de log binário definindo o período de retenção do log binário.
Exemplos de faturamento
Assinatura
Se o seu cluster já possui um tipo de armazenamento {{XREF_1}}, nenhuma taxa adicional será cobrada se o espaço de armazenamento for suficiente.

Pagamento conforme o uso
Se o seu cluster já possui um tipo de armazenamento {{XREF_2}}, o espaço de log binário é cobrado apenas com base no espaço de armazenamento real ocupado pelos dados.

Notas de uso
O log binário é desativado por padrão. Após ativar o log binário, o cluster é reiniciado automaticamente. Geralmente, a tarefa de reinicialização é concluída em até 5 minutos. Durante a reinicialização, os services sofrem uma interrupção transitória de cerca de 40 segundos. A duração exata depende do volume de dados e do número de tabelas. Recomendamos que você execute esta operação fora dos horários de pico e garanta que suas aplicações possuam um mecanismo de reconexão.
Após a ativação do log binário, o desempenho de gravação diminui, enquanto o desempenho de leitura não é afetado. Na maioria dos casos, o impacto no desempenho ao ativar o log binário não ultrapassa 10%. Sob pressão extrema, o impacto pode chegar a 40%. Para mais informações, consulte {{XREF_3}}.
Ao extrair, assinar ou sincronizar logs binários (por exemplo, usando ferramentas como o DTS), recomendamos o uso do PolarDB Primary Endpoint, pois ele aponta diretamente para o nó primário que gera os logs binários, oferecendo melhor compatibilidade e estabilidade. Para mais informações sobre como visualizar o Primary Endpoint, consulte {{XREF_4}}.
Com o log binário ativado, quando o banco de dados envia uma transação excessivamente grande, ele bloqueia o envio de outras transações, o que pode afetar a duração da reinicialização e da alteração de especificação do cluster.
-
O parâmetro loose_polar_log_bin descrito neste tópico é um parâmetro de nível global. Para usar o log binário no nível de sessão, você deve ativar o parâmetro sql_log_bin.
NotaO parâmetro sql_log_bin controla a ativação do log binário no nível de sessão. Por padrão, este parâmetro está desativado. Para ativá-lo, acesse Quota Center. Na linha em que o nome da cota é polardb sql_log_bin parameter permission, na coluna Actions, clique em Apply para ativá-lo.
Se você usar o DTS para migrar do RDS para o PolarDB, o log binário será ativado automaticamente.
Os logs binários registram apenas as alterações de dados que ocorrem após a ativação do log binário. As operações INSERT, DELETE e UPDATE executadas antes da ativação do log binário não são registradas nos arquivos de log binário.
Ativar o log binário
Ativar o log binário ao comprar um novo cluster
Ao criar um cluster, selecione a opção Cluster Configurations na caixa de seleção Enable Binary Logging. Para mais informações, consulte {{XREF_5}} e {{XREF_6}}.
Ativar o log binário para clusters existentes
Após a ativação do log binário, o cluster é reiniciado automaticamente. A tarefa de reinicialização é concluída em até 5 minutos. Durante a reinicialização, os services sofrem uma interrupção transitória de cerca de 40 segundos. A duração exata depende do volume de dados e do número de tabelas. Recomendamos que você execute esta operação fora dos horários de pico e garanta que suas aplicações possuam um mecanismo de reconexão.
Faça login no PolarDB console. No painel de navegação à esquerda, clique em Clusters. Selecione a Region onde o cluster está implantado e, em seguida, clique no ID do cluster para acessar a página de detalhes do cluster.
-
Use um dos seguintes métodos para ativar o log binário:
-
Método 1:
Acesse a página Binary Logs do cluster.
Clique em Enable Now.
-
Na caixa de diálogo Enable Binary Logging, defina o horário de vigência como Now ou Scheduled.
NotaSe você selecionar Scheduled, especifique o horário de vigência.
Clique em OK.
-
Método 2: Ative o log binário definindo o parâmetro loose_polar_log_bin.
No painel de navegação à esquerda, escolha .
-
Encontre o parâmetro loose_polar_log_bin e modifique seu valor. Para mais informações, consulte {{XREF_7}}.
NotaSe a versão do seu cluster PolarDB for MySQL for MySQL 5.6, altere o valor atual para ON_WITH_GTID;
Se a versão do seu cluster PolarDB for MySQL for MySQL 5.7 ou MySQL 8.0, altere o valor atual para ON.
-
Desativar o log binário
Faça login no PolarDB console. No painel de navegação à esquerda, clique em Clusters. Selecione a Region onde o cluster está implantado e, em seguida, clique no ID do cluster para acessar a página de detalhes do cluster.
-
Use um dos seguintes métodos para desativar o log binário:
-
Método 1:
Acesse a página Binary Logs do cluster.
Clique em Disable Binary Logging.
-
Na caixa de diálogo Disable Binary Logging, defina o horário de vigência como Now ou Scheduled. Escolha se deseja selecionar Clear Local Binary Logs.
NotaSe você selecionar Scheduled, especifique o horário de vigência.
Clique em OK.
-
Método 2: Desative o log binário definindo o parâmetro loose_polar_log_bin.
No painel de navegação à esquerda, escolha .
-
Encontre o parâmetro loose_polar_log_bin e modifique seu valor. Para mais informações, consulte {{XREF_8}}.
NotaSe a versão do seu cluster PolarDB for MySQL for MySQL 5.6, altere o valor atual para OFF_WITH_GTID;
Se a versão do seu cluster PolarDB for MySQL for MySQL 5.7 ou MySQL 8.0, altere o valor atual para OFF.
Após a desativação do log binário, os arquivos de log binário existentes são retidos. Recomendamos que você primeiro reduza o período de retenção do log binário, aguarde a exclusão automática dos arquivos desnecessários e, em seguida, desative o log binário.
-
Período de retenção do log binário
Políticas de retenção
Os arquivos de log binário possuem as duas seguintes políticas de retenção:
-
Após a ativação do log binário, os arquivos de log binário são retidos por 3 dias por padrão. Os arquivos de log binário com mais de 3 dias são excluídos automaticamente.
NotaPara clusters PolarDB for MySQL adquiridos antes de 23 de novembro de 2023, os arquivos de log binário são retidos por duas semanas (14 dias) por padrão.
Para clusters PolarDB for MySQL adquiridos antes de 17 de janeiro de 2024, os arquivos de log binário são retidos por uma semana (7 dias) por padrão.
Após a desativação do log binário, os arquivos de log binário existentes são retidos e não são excluídos automaticamente.
Modificar o período de retenção
A modificação do período de retenção do log binário não causa interrupções transitórias nem exige a reinicialização do cluster.
No entanto, se a modificação do período de retenção causar a exclusão de um grande volume de arquivos de log binário (por exemplo, 10 TB), podem ocorrer exceções temporárias de gravação no banco de dados durante a limpeza. Portanto, quando os arquivos de log binário forem grandes, recomendamos que você execute esta operação fora dos horários de pico e reduza o período de retenção em várias etapas, excluindo uma parte dos dados de log binário de cada vez.
Os arquivos de log binário excluídos não podem ser recuperados.
-
Se o log binário estiver ativado para o seu cluster, modifique o período de retenção do log binário usando um dos seguintes métodos:
Se a versão do cluster for PolarDB for MySQL 5.6, modifique o parâmetro loose_expire_logs_hours (intervalo de valores: 0 a 2376, unidade: horas, valor padrão: 72) para definir o período de retenção do log binário. O valor 0 significa que os arquivos de log binário não são excluídos automaticamente. Para mais informações sobre as configurações de parâmetros, consulte {{XREF_9}}.
-
Se a versão do cluster for PolarDB for MySQL 5.7 ou 8.0, modifique o parâmetro binlog_expire_logs_seconds (intervalo de valores: 0 a 4294967295, unidade: segundos, valor padrão: 259200) para definir o período de retenção do log binário. O valor 0 significa que os arquivos de log binário não são excluídos automaticamente. Para mais informações sobre as configurações de parâmetros, consulte {{XREF_10}}.
ImportanteApós modificar os valores desses dois parâmetros para definir o período de retenção do log binário, os arquivos de log binário existentes no cluster não são excluídos imediatamente. Para excluir os arquivos de log binário existentes, use um dos seguintes métodos:
Quando o último arquivo de log binário no cluster atinge
max_binlog_size, o sistema alterna para um novo arquivo de log binário e esses arquivos de log binário existentes são excluídos automaticamente.Use uma conta privilegiada para executar o comando flush binary logs para acionar imediatamente uma alternância de arquivo de log binário e excluir os arquivos de log binário expirados.
Você também pode reiniciar o cluster. Após a reinicialização, os arquivos de log binário existentes são excluídos automaticamente.
Se o log binário não estiver ativado para o seu cluster e você quiser excluir arquivos de log binário, refaça o {{XREF_11}}, defina o parâmetro de período de retenção do log binário (loose_expire_logs_hours ou binlog_expire_logs_seconds) com um valor baixo, aguarde a exclusão automática dos arquivos após o término do período de retenção e, em seguida, desative o log binário.
Obter e visualizar logs binários
Use a ferramenta mysqlbinlog para visualizar e analisar logs binários. Para mais informações, consulte {{XREF_12}}.
Perguntas frequentes
-
P: Por quanto tempo os arquivos de log binário são retidos?
R: Se o log binário estiver ativado para o seu cluster, os arquivos de log binário são retidos por 3 dias por padrão. Os arquivos de log binário com mais de 3 dias são excluídos automaticamente.
NotaPara clusters PolarDB for MySQL adquiridos antes de 23 de novembro de 2023, os arquivos de log binário são retidos por duas semanas (14 dias) por padrão.
Para clusters PolarDB for MySQL adquiridos antes de 17 de janeiro de 2024, os arquivos de log binário são retidos por uma semana (7 dias) por padrão.
Se o log binário estiver desativado para o seu cluster, os arquivos de log binário existentes são retidos e não são excluídos automaticamente.
NotaModifique o período de retenção do log binário para clusters com o log binário ativado alterando os parâmetros. Para mais informações, consulte {{XREF_13}}.
-
P: O que significa a mensagem de erro
Could not find first log file name in binary log index file?R:
Could not find first log file name in binary log index fileCom base nesta mensagem de erro, os logs binários foram limpos. Os logs binários excluídos não podem ser recuperados. -
P: Posso desativar o log binário após ativá-lo?
R: Defina o parâmetro loose_polar_log_bin como OFF e envie a alteração.
NotaApós a desativação do log binário, os arquivos de log binário existentes são retidos. Você pode primeiro reduzir o período de retenção do log binário, aguardar a exclusão automática dos arquivos desnecessários e, em seguida, desativar o log binário.
-
P: Como reduzo o espaço de armazenamento ocupado pelos logs binários?
R: Defina o parâmetro de período de retenção do log binário (loose_expire_logs_hours ou binlog_expire_logs_seconds) com um valor baixo para reduzir o espaço de armazenamento ocupado pelos arquivos de log binário.
-
P: Qual é o impacto da ativação do log binário no desempenho?
R: A ativação do log binário não afeta o desempenho de consultas (SELECT). Ela afeta apenas o desempenho de gravação e atualização (INSERT, UPDATE, DELETE, etc.). Na maioria dos casos, o impacto no desempenho ao ativar o log binário não ultrapassa 10%. Sob pressão extrema, o impacto pode chegar a 40%.
-
P: Após a ativação do log binário, o cluster é reiniciado automaticamente. Quanto tempo leva a tarefa de reinicialização?
R: Geralmente, a tarefa de reinicialização é concluída em até 5 minutos. Durante a reinicialização, os services sofrem uma interrupção transitória de cerca de 40 segundos. A duração exata depende do volume de dados e do número de tabelas. Recomendamos que você execute esta operação fora dos horários de pico e garanta que suas aplicações possuam um mecanismo de reconexão.
-
P: Como obtenho e visualizo remotamente o conteúdo do log binário?
R: Para mais informações, consulte {{XREF_14}}.
-
P: Por que não posso usar o recurso {{XREF_15}} do DMS para executar alterações de esquema, como adicionar índices em clusters PolarDB for MySQL?
R: O log binário é desativado por padrão para clusters PolarDB for MySQL. Para usar o recurso de alteração de esquema sem bloqueio do DMS, ative primeiro o log binário para o seu cluster PolarDB for MySQL. Se não quiser ativar o log binário, você também pode usar comandos DDL online para alterar o esquema da tabela.
-
P: Posso usar o canal para capturar alterações do MySQL após a ativação do log binário?
R: Sim, você pode usar o canal para capturar alterações do MySQL.
-
P: A execução da instrução
SHOW BINARY LOGSpara consultar o tamanho do arquivo de log binário afeta o desempenho do cluster?R: Não. A instrução
SHOW BINARY LOGSé uma operação de gerenciamento e quase não tem impacto no desempenho do cluster. Ela não afeta diretamente o desempenho de leitura e gravação do banco de dados como as operações de gravação de dados (como INSERT, UPDATE e DELETE). Portanto, você pode usar este comando com tranquilidade. -
P: Como consulto o horário da última gravação dos logs binários no PolarDB for MySQL?
R: Use a instrução
show full binary logspara visualizar o nome, o tamanho e o horário da última gravação de todos os arquivos de log binário.NotaEste recurso é compatível com clusters PolarDB for MySQL com os seguintes requisitos:
MySQL 8.0.2, com versão secundária 8.0.2.2.0 ou posterior.
MySQL 8.0.1, com versão secundária 8.0.1.1.14 ou posterior.
MySQL 5.7, com versão secundária 5.7.1.0.27 ou posterior.
MySQL 5.6, com versão secundária 5.6.1.0.38 ou posterior.
-
P: Como visualizo o conteúdo do log binário em um horário específico no PolarDB for MySQL?
R: Não é possível especificar diretamente um horário para fazer o backup dos dados. Execute primeiro o {{XREF_16}} e, em seguida, analise os logs binários para visualizar o conteúdo.