# 7.4.3 使用 mysqldump 以分隔文本格式转储数据

本节介绍如何使用mysql转储创建分隔文本转储文件。有关重新加载此类转储文件的信息,请参阅第 7.4.4 节,“重新加载分隔文本格式的备份”.

如果你调用mysql转储--tab=*目录名*选项,它使用*目录名*作为输出目录,并使用每个表的两个文件在该目录中单独转储表。表名是这些文件的基本名称。对于名为t1, 文件被命名t1.sqlt1.txt.这.sql文件包含一个创建表表的声明。这。文本文件文件包含表数据,每行一行。

以下命令转储文件的内容db1数据库中的文件/tmp数据库:

$> mysqldump --tab=/tmp db1

。文本文件包含表数据的文件由服务器写入,因此它们归用于运行服务器的系统帐户所有。服务器使用选择...进入文件写文件,所以你必须有文件执行此操作的权限,如果给定。文本文件文件已存在。

服务器发送创建转储表的定义mysql转储, 将它们写入.sql文件。因此,这些文件归执行的用户所有mysql转储.

最好是- 标签仅用于转储本地服务器。如果将它与远程服务器一起使用,则- 标签目录必须同时存在于本地和远程主机上,并且。文本文件文件由服务器写入远程目录(在服务器主机上),而.sql文件由mysql转储在本地目录中(在客户端主机上)。

为了mysqldump --选项卡,服务器默认将表数据写入。文本文件文件每行一行,列值之间有制表符,列值周围没有引号,换行符作为行终止符。(这些默认值与选择...进入文件.)

要使数据文件能够使用不同的格式写入,mysql转储支持这些选项:

--fields-enclosed-by='"'

在任何平台上,您都可以指定十六进制值:

--fields-enclosed-by=0x22

一起使用几个数据格式选项是很常见的。例如,以逗号分隔值格式转储表格,其中行以回车符/换行符对终止 (\r\n),使用此命令(在一行中输入):

$> mysqldump --tab=/tmp --fields-terminated-by=,
         --fields-enclosed-by='"' --lines-terminated-by=0x0d0a db1

如果您使用任何数据格式选项来转储表数据,则需要在稍后重新加载数据文件时指定相同的格式,以确保正确解释文件内容。