Suppose you have a MySQL database containing stored procedures (which were added in MySQL 5.0.3). Now you dump that database using mysqldump, take the dump, and load it into a different server.
Oops, the dump didn’t contain the stored-procedure definitions, so your code
fails. So you read the mysqldump manual, and discover that you need to add
--routines) unbreak-me option. You regenerate the dump with
and load it into your other server. That worked; phew. (Assuming the user
you dumped as has read permissions on the
mysql.proc table, anyway.)
Then you load the dump into a third server. But you weren’t thinking very clearly at this point, and this third server is running 5.0.2, or 4.1, or some other version N−k. What should happen now?