介绍如何使用, mysqldump创建分隔文本的转储文件。有关重新加载此类转储文件的信息,请参见第1.4.4节,“重新加载定界文本格式备份”.
如果你调用, mysqldump与——选项卡=
选项,它使用dir_name
dir_name
作为输出目录,并在该目录中分别转储表,每个表使用两个文件。表名是这些文件的基本名称。对于一个名为t1
,文件命名t1.sql
而且t1.txt
.的. sql
文件包含创建表
语句。的. txt
文件包含表数据,每一行包含表数据。
文件的内容db1
数据库中的文件/ tmp
数据库:
Shell > mysqldump——tab=/tmp db1
的. txt
包含表数据的文件由服务器写入,因此它们由用于运行服务器的系统帐户拥有。服务器使用选择……到输出文件
要写文件,必须有文件
权限来执行此操作,如果给定. txt
文件已经存在。
服务器发送创建
转储表的定义, mysqldump,把它们写到. sql
文件。因此,这些文件由执行的用户拥有, mysqldump.
最好是——选项卡
仅用于转储本地服务器。如果将它与远程服务器一起使用,则——选项卡
目录必须在本地和远程主机上都存在,并且. txt
文件由服务器写入远程目录(在服务器主机上),而. sql
文件由, mysqldump在本地目录(在客户端主机上)。
为, mysqldump——选项卡时,服务器默认将表数据写入. txt
每行归档一行,列值之间使用制表符,列值周围不使用引号,换行符作为行结束符。(这些默认值与for相同选择……到输出文件
)。
要使用不同的格式写入数据文件,, mysqldump支持以下选项:
用于分隔列值的字符串(默认为tab)。
用于包含列值的字符(默认:无字符)。
——fields-optionally-enclosed-by =
字符
包含非数字列值的字符(默认值:无字符)。
用于转义特殊字符的字符(默认为no转义)。
行终止字符串(默认值:换行符)。
根据为这些选项指定的值,可能需要在命令行上为命令解释器适当地引用或转义值。或者,使用十六进制表示法指定值。假设你想要, mysqldump在双引号内引用列值。方法的值指定双引号——fields-enclosed-by
选择。但这一特点往往是指挥译员所特有的,必须特别对待。例如,在Unix上,你可以像这样引用双引号:
——fields-enclosed-by = '”
在任何平台上,你都可以用十六进制指定值:
——fields-enclosed-by = 0将
通常会同时使用几个数据格式化选项。例如,将表转储为逗号分隔的值格式,其中行以回车/换行符对结束(\ r \ n
),使用这个命令(在单行输入):
Shell > mysqldump——tab=/tmp——fields-terminated-by=,——fields- wrapped -by=' ' '——lines-terminated-by=0x0d0a db1
如果使用任何数据格式化选项来转储表数据,那么在以后重新加载数据文件时需要指定相同的格式,以确保正确地解释文件内容。