Come faccio a ignorare gli errori con mysqldump?


12

Quando scarico un database, sto ottenendo

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

e poi il dumping si ferma.

Come faccio a far continuare mysqldump quando si imbatte in questo tipo di problemi? 10 minuti di Google non hanno offerto aiuto.

Ecco il comando che ho usato:

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

Risposte:


27

uomo mysqldump

-f, --force         Continue even if we get an sql-error.

Okay, pensavo che non stesse funzionando, ma a quanto pare ha funzionato. La discarica sembra essere finita, ma gli errori si sono verificati proprio alla fine, quindi ha fatto sembrare che gli errori facessero fallire la discarica.
— Chad Johnson,

Ha già fornito l'opzione --force nel comando che ci ha mostrato.
— Zoredache,

1
scusa non me ne sono accorto.
— Chocripple,

1
@Chad Johnson, una persona potrebbe obiettare che se non è possibile ottenere un backup pulito senza usare --force, il backup non è riuscito. L'opzione force eliminerà gli errori che potrebbero essere importanti. Non utilizzare --force in uno script di backup da cui dipenderai.
— Zoredache,

Questo è solo così posso ottenere un dump di un database con cui lavorare localmente. Niente di importante.
— Chad Johnson,

1

AFIAK, non puoi. Hai bisogno di sufficienti privilegi per correre mysqldump. Perché non hai dato il executeprivilegio all'utente in esecuzione?


2
Perché la mia compagnia mi costringe a passare attraverso un altro dipartimento :(
— Chad Johnson il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.