Bug #9741 mysqldump uses multi-line inserts by default
Submitted: 8 Apr 2005 2:50 Modified: 8 Apr 2005 3:00
Reporter: Rod V Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: mysqldump Command-line Client Severity:S3 (Non-critical)
Version:standard-4.1.11 OS:Linux (linux-gnu-i686)
Assigned to: CPU Architecture:Any

[8 Apr 2005 2:50] Rod V
Description:
After upgrading from 4.0.1-alpha I've noticed that mysqldump produces INSERTs with multiple rows each rather than a single INSERT per row. I cannot find any information on reverting to the old behaviour in documentation or on the web anywhere. It appears that the default behaviour is actually the behaviour that the -e (--extended-insert) option is supposed to produce and there is no reverse option.

I use diff for my daily backup dumps to save space and with these very large INSERTs now my diffs are much bigger because a small change means a large line-by-line difference.

How to repeat:
mysqldump -p<pass> -u<user> <db> -e > dump1.sql; mysqldump -p<pass> -u<user> <db> > dump2.sql; diff dump1.sql dump2.sql | wc

( == 0 )

Suggested fix:
Make the default behaviour single-insert-per-row, or add a command line option to allow this. (Then add it to the documentation!)
[8 Apr 2005 3:00] Paul DuBois
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.mysql.com/documentation/ and the instructions on
how to report a bug at http://bugs.mysql.com/how-to-report.php

Additional info:

The behavior you describe is documented here:

http://dev.mysql.com/doc/mysql/en/mysqldump.html

(See introduction on page and the description of the
--opt option.)

Relevent info:
- The --opt option is enabled by default now.
- To disable it, you can use --skip-opt
- To disable individual options that --opt turns on,
you can use their skip forms. For the option in
question, that's --skip-extended-insert.