  | 
  
Utility to dump a database or a collection of database for backup or
for transferring the data to another SQL server.  The dump will contain SQL
statements to create the table and/or populate the table.
 
shell> mysqldump [OPTIONS] database [tables]
 
If you don't give any tables, the whole database will be dumped.
 
You can get a list of the options your version of mysqldump supports
by executing mysqldump --help.
 
Note that if you run mysqldump without --quick or
--opt, mysqldump will load the whole result set into
memory before dumping the result.  This will probably be a problem if
you are dumping a big database.
 
mysqldump supports the following options:
 
--add-locks
- 
Add 
LOCK TABLES before and UNLOCK TABLE after each table dump.
(To get faster inserts into MySQL).
 --add-drop-table
- 
Add a 
drop table before each create statement.
 --allow-keywords
- 
Allow creation of column names that are keywords.  This works by
prefixing each column name with the table name.
 -c, --complete-insert
- 
Use complete insert statements (with column names).
 -C, --compress
- 
Compress all information between the client and the server if both support
compression.
 --delayed
- 
Insert rows with the 
INSERT DELAYED command.
 -e, --extended-insert
- 
Use the new multiline 
INSERT syntax. (Gives more compact and
faster inserts statements)
 -#, --debug[=option_string]
- 
Trace usage of the program (for debugging).
 --help
- 
Display a help message and exit.
 --fields-terminated-by=...
- 
 --fields-enclosed-by=...
- 
 --fields-optionally-enclosed-by=...
- 
 --fields-escaped-by=...
- 
 --fields-terminated-by=...
- 
These options are used with the 
-T option and have the same
meaning as the corresponding clauses for LOAD DATA INFILE.
  LOAD DATA.
 -F, --flush-logs
- 
Flush logs file in the MySQL server before starting the dump.
 -f, --force,
- 
Continue even if we get an SQL error during a table dump.
 -h, --host=..
- 
Dump data from the MySQL server on the named host. The default host
is 
localhost.
 -l, --lock-tables.
- 
Lock all tables for starting the dump.
 -t, --no-create-info
- 
Don't write table creation info (The 
CREATE TABLE statment)
 -d, --no-data
- 
Don't write any row information for the table.  This is very useful if you
just want to get a dump of the structure for a table!
 --opt
- 
Same as 
--quick --add-drop-table --add-locks --extended-insert
--use-locks.  Should give you the fastest possible dump for reading
into a MySQL server.
 -pyour_pass, --password[=your_pass]
- 
The password to use when connecting to the server. If you specify
no `=your_pass' part,
mysqldump solicits the password from the terminal.
 -P port_num, --port=port_num
- 
The TCP/IP port number to use for connecting to a host.  (This is used for
connections to hosts other than 
localhost, for which Unix sockets are
used.)
 -q, --quick
- 
Don't buffer query, dump directly to stdout;  Uses 
mysql_use_result()
to do this.
 -S /path/to/socket, --socket=/path/to/socket
- 
The socket file to use when connecting to 
localhost (which is the
default host).
 -T, --tab=path-to-some-directory
- 
Creates a 
table_name.sql file, that conntains the SQL CREATE commands,
and a table_name.txt file, that contains the data, for each give table.
NOTE: This only works if mysqldump is run on the same
machine as the mysqld daemon.  The format of the .txt file
is made according to the --fields-xxx and --lines--xxx options.
 -u user_name, --user=user_name
- 
The MySQL user name to use when connecting to the server. The
default value is your Unix login name.
 -O var=option, --set-variable var=option
- 
Set the value of a variable.  The possible variables are listed below.
 -v, --verbose
- 
Verbose mode.  Print out more information what the program does.
 -V, --version
- 
Print version information and exit.
 -w, --where='where-condition'
- 
Dump only selected records; Note that QUOTES are mandatory!
"--where=user='jimf'" "-wuserid>1" "-wuserid<1"
 
  
The most normal use of mysqldump is probably for making a backup of
whole database:
 
mysqldump --opt database > backup-file.sql
 
But it's also very useful to populate another MySQL server with
information from a databas:
 
mysqldump --opt database | mysql --host=remote-host -C database
 
 |