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.