replicação do MySQL: impedir temporariamente instruções SQL específicas replicando aos escravos?

votos
5

Eu quero ligar e executar uma (ou, por vezes, vários) instruções SQL, e não tem os replicado para os escravos.

Eu não tenho nenhuma replicar-do ou replicá-ignorar configurações, então eu não posso usealgum banco de dados não replicado para enviar os comandos do. E eu sobre saber:

set global sql_slave_skip_counter = 1

Mas isso é no escravo. Eu gostaria de ser capaz de executar um comando semelhante no master e ter o seguinte N não comandos enviados para os escravos (que eu acho que meios não registradas no log binário, qualquer um).

Publicado 10/12/2008 em 07:07
fonte usuário
Em outras línguas...                            


2 respostas

votos
14

SET sql_log_bin=0é o que você está procurando. Requer SUPER priv., E apaga-se o registro de comandos da sessão até que você configurá-lo de volta para 1. Veja http://dev.mysql.com/doc/refman/5.0/en/server-session-variables.html# sysvar_sql_log_bin

SET sql_log_bin=0;
UPDATE ... ;
INSERT IGNORE  ... ;
DELETE ... ;
SET sql_log_bin=1 ;
Respondeu 10/12/2008 em 07:42
fonte usuário

votos
2

CUIDADO.....!

SET sql_log_bin=0;

Mestre servidor MySQL definido automaticamente este valor de 0 a 1 depois de um tempo (após cerca de um minuto). Não esperar até que defini-lo explicitamente a 1. Assim de acordo com minha experiência, isso não é uma maneira segura para desativar o log binário em todos os .....!

Respondeu 08/11/2011 em 20:16
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more