Comment ignorer les erreurs avec mysqldump?


12

Lorsque je vide une base de données, je reçois

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

puis le dumping s'arrête.

Comment faire pour que mysqldump continue quand il rencontre ce genre de problèmes? 10 minutes de Google n'ont offert aucune aide.

Voici la commande que j'ai utilisée:

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

Réponses:


27

homme mysqldump

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

D'accord, je pensais que cela échouait, mais apparemment, cela a fonctionné. Le vidage semble être terminé, mais les erreurs se sont produites à la fin, ce qui donne l'impression que les erreurs ont provoqué l'échec du vidage.
Chad Johnson

Il a déjà fourni l'option --force dans la commande qu'il nous a montrée.
Zoredache

1
désolé je ne l'ai pas réalisé.
chocripple

1
@Chad Johnson, une personne pourrait affirmer que si vous ne pouvez pas obtenir une sauvegarde propre sans utiliser --force, votre sauvegarde a échoué. L'option de force supprimera les erreurs qui peuvent être importantes. Veuillez ne pas utiliser --force dans un script de sauvegarde dont vous dépendrez.
Zoredache

C'est juste pour que je puisse obtenir un vidage d'une base de données avec laquelle travailler localement. Rien d'important.
Chad Johnson

1

AFIAK, tu ne peux pas. Vous avez besoin de suffisamment de privilèges pour exécuter mysqldump. Pourquoi n'avez-vous pas accordé le executeprivilège à l'utilisateur qui courait?


2
Parce que mon entreprise m'oblige à passer par un autre département :(
Chad Johnson
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.