Dumping a Database as SQL Statements
You can make a database backup by generating a file of
all the SQL commands necessary to re-create the existing database
structure from scratch, and (if you want) the SQL commands to insert
all the data. Note that this is different from exporting table
contents using the SELECT INTO
OUTFILE
syntax that we saw in Writing Data into Comma-Delimited Files”
in Chapter 8 since we get the actual SQL INSERT
statements, rather than just the raw
values.
SQL statements are an excellent form of backup. One of the
easiest ways to safely back up your data is to export it from MySQL,
write it to stable media (such as a high-quality recordable CD or
DVD), and store it in a safe location. Since the file of SQL
statements contains just text, it can be compressed to a fraction of its original size using a
compression program. Suitable compression programs on Linux or Mac OS
X are gzip
, bzip2
, or zip
; you can also use the StuffIt program
under Mac OS X. Under Windows, you can compress a file by
right-clicking on the file icon and selecting “Send To”
and then “Compressed (zipped) Folder.” You can also use
third-party tools such as WinZip and PKZIP.
Let’s try a simple example to back up the music
database. To do this, we’ll run the mysqldump
utility and save the output to the
file music.sql:
$
mysqldump --user=root --password=
the_mysql_root_password
\
--result-file=music.sql music
This tries to create the file music.sql in the current directory. If you don’t have permission ...
Get Learning MySQL now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.