Bug #69050 mysqldump does not display error on failure.
Submitted: 24 Apr 2013 10:59 Modified: 24 Apr 2013 12:11
Reporter: Anish D Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: General Severity:S2 (Serious)
Version:5.5 OS:Linux (CentOS 5.9)
Assigned to: CPU Architecture:Any
Tags: mysqldump routines

[24 Apr 2013 10:59] Anish D
Description:
My Database had a broken view.

When mysqldump is run like this
mysqldump my_database > my_db.sql

It completes fine but doesn't dump any routine or anything after it reached that view. It doesn't display any error. This is extremely misleading. It must display an error so I can fix it.

When mysqldump is run like this
mysqldump -f my_database > my_db.sql

It has all the routines. This however ignores the error, so I don't want to run the dump command with this argument.

How to repeat:
Create a routine.
Create a view, delete its dependency so it becomes broken.
mysqldump my_database > my_db.sql
No errors will be displayed.
my_db.sql will not have any stored procedures 
 

Suggested fix:
use --force during the dump.
[24 Apr 2013 12:11] MySQL Verification Team
Thank you for the bug report. I couldn't repeat with source tree compiled version. If you have an older version please try 5.5.30.

miguel@tikal:~/dbs/5.5> bin/mysqldump -f -uroot my_database > my_db.sql
mysqldump: Got error: 1356: View 'my_database.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them when using LOCK TABLES
mysqldump: Couldn't execute 'SHOW FIELDS FROM `v1`': View 'my_database.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them (1356)
miguel@tikal:~/dbs/5.5> bin/mysqldump --version
mysqldump  Ver 10.13 Distrib 5.5.32, for Linux (x86_64)