Como ignoro erros no mysqldump?

12

Ao despejar um banco de dados, estou recebendo

mysqldump: Couldn't execute 'show create table `some_table`': execute command denied to user 'some_user'@'%' for routine 'some_routime' (1370)

e então o dumping simplesmente para.

Como faço para o mysqldump continuar quando se depara com esse tipo de problema? 10 minutos do Google não ofereceram ajuda.

Aqui está o comando que eu usei:

mysqldump -u username -h localhost --port=4406 -p --databases database_name --skip-lock-tables --force > database_name.sql
Chad Johnson
fonte

Respostas:

27

homem mysqldump

-f, --force         Continue even if we get an sql-error.
chocripple
fonte
Ok, eu pensei que isso estava falhando, mas aparentemente funcionou. O despejo parece ter terminado, mas os erros ocorreram no final, parecendo com os erros do despejo.
Chad Johnson
Ele já forneceu a opção --force no comando que ele nos mostrou.
Zoredache
1
desculpe não percebi.
Chocripple
1
@Chad Johnson, uma pessoa pode argumentar que, se você não pode obter um backup limpo sem usar --force, seu backup falhou. A opção forçar suprime erros que podem ser importantes. Por favor, não use --force em um script de backup do qual você dependerá.
Zoredache
Isso é apenas para que eu possa obter um despejo de um banco de dados para trabalhar localmente. Nada importante.
Chad Johnson
1

AFIAK, você não pode. Você precisa de privilégios suficientes para executar mysqldump. Por que você não deu executeprivilégios ao usuário que está executando?

quanta
fonte
2
Porque minha empresa me obriga a passar por outro departamento :(
Chad Johnson