介绍如何使用, mysqldump创建sql格式的转储文件。有关重新加载此类转储文件的信息,请参见章节7.4.2,“重新加载sql格式备份”。
默认情况下,, mysqldump将信息作为SQL语句写入标准输出。您可以将输出保存在一个文件中:
$> mysqldump [参数) >file_name
要转储所有数据库,请调用, mysqldump与——所有数据库
选择:
$> mysqldump——所有数据库> dump.sql
若要仅转储特定的数据库,请在命令行上命名它们并使用——数据库
选择:
$> mysqldump——数据库db1 db2 db3 > dump.sql
的——数据库
选项使命令行上的所有名称都被视为数据库名称。如果没有这个选项,, mysqldump将第一个名称作为数据库名,将后面的名称作为表名。
与——所有数据库
或——数据库
,, mysqldump写创建数据库
和使用
每个数据库的转储输出之前的语句。这确保了在重新加载转储文件时,如果每个数据库不存在,它将创建该数据库,并将其作为默认数据库,以便将数据库内容加载到它们来自的同一个数据库中。如果要使转储文件在重新创建数据库之前强制删除每个数据库,请使用——add-drop-database
也可以选择。在这种情况下,, mysqldump写了一删除数据库
每个语句之前的语句创建数据库
声明。
要转储单个数据库,在命令行中命名它:
$> mysqldump——数据库测试> dump.sql
在单数据库情况下,可以省略——数据库
选择:
$> mysqldump test > dump.sql
上面两个命令的区别是没有——数据库
时,转储信息中包含no创建数据库
或使用
语句。这有几个含义:
重新加载转储文件时,必须指定默认数据库名称,以便服务器知道要重新加载哪个数据库。
为了重新加载,您可以指定与原始名称不同的数据库名称,这使您能够将数据重新加载到不同的数据库中。
如果要重新加载的数据库不存在,则必须先创建数据库。
因为输出包含no
创建数据库
声明中——add-drop-database
期权没有作用。如果你使用它,它不会产生删除数据库
声明。
要从数据库中只转储特定的表,请在命令行中按照数据库名称命名它们:
$> mysqldump test t1 t3 t7 > dump.sql