Criando um script de backup do MySQL mais resiliente

2

Eu tenho um script padrão mysqlbackup que roda no cron. Recentemente, tivemos um problema em que removemos uma coluna de uma tabela em que uma visualização estava referenciando. Assim, nosso script de backup estava falhando com um erro semelhante ao seguinte:

mysqldump: Couldn't execute 'show create table 'v'': View 'foo_breakage.v' 
references invalid table(s) or column(s) or function(s) or definer/invoker of 
view lack rights to use them (1356)

Se você simplesmente soltar essa visualização, os backups funcionarão novamente. O que eu estou tentando resolver é ser a) notificado no futuro quando esse erro acontecer, ou b) (isso provavelmente é improvável), mas forçar o backup a passar, independentemente de um erro como esse, se possível.

Qual é a melhor maneira de abordar esse problema? Estou assumindo que a única e melhor abordagem para isso é verificar um código de status de saída e enviar uma notificação por e-mail para os sysops em caso de falha. A falha acima será exibida em um código de status de saída? Procurando soluções criativas / fáceis.

    
por imaginative 25.04.2011 / 20:04

2 respostas

5

Eu verificaria erros e enviasse algo / correspondesse - mas você também pode forçar o backup a continuar, independentemente de erros:

da página de referência do mysqldump :

--force, -f

Continue even if an SQL error occurs during a table dump.

One use for this option is to cause mysqldump to continue executing even when it encounters a view that has become invalid because the definition refers to a table that has been dropped. Without --force, mysqldump exits with an error message. With --force, mysqldump prints the error message, but it also writes an SQL comment containing the view definition to the dump output and continues executing.

    
por 25.04.2011 / 20:20
1

Solução fácil: use o script "automysqlbackup" do sourceforge.net e coloque isso no cron.

Ele até mesmo gira os backups diários / semanais + envia e-mails com todos os resultados.

    
por 25.04.2011 / 22:06

Tags