mysqldump备份之分割文本形式
2016-11-18 10:42
357 查看
7.4.3 使用mysqldump将数据以分割文本的形式进行dump ++++++++++++++++++++++ 如果调用mysqldump的时候使用了--tab=dir_name的时候,它将会用dir_name作为输出目录(目录要提前创建),并且每一个表将会创建2个文件(一个txt文件和一个sql文件)来保存; 这两个文件的基名就是表的名字:对于名为t1的表来说,这2个文件就是t1.txt和t1.sql; 生成的.sql文件包含一个CREATE TABLE 语句;生成的.txt文件包含表中的数据,表中的每一行在文件中也是一行;
生成的.txt文件中的数据是mysql服务器写进去的,所以它的所有者是运行mysql服务器的系统用户; 服务器使用SELECT ... INTO OUTFILE 语句来写文件,所以你必须拥有FILE特权; 另外,如果已经存在同名的.txt文件,将会报错;(windows下实验,没有报错,直接覆盖) 对于要dump的表,mysql将CREATE 定义发送给mysqldump; 生成的sql文件属于执行mysqldump命令的用户; --tab选项最好只用本地服务器; 如果对于远程主机使用--tab选项,那么本地机器和远程机器都必须有--tab指定的目录, 在这种情况下,.txt文件将会保留在远程目录,.sql目录将会保存在本地目录; 对于mysqldump --tab来说,默认情况下,mysql服务器将表中的每一行数据写到.txt文件中的一行,每一列的每一个值都没有引号,新的一行作为行的分隔; 这是和SELECT ... INTO OUTFILE一样的;
mysqldump提供一些选项来控制txt文件的格式:
—fields-terminated-by=str 使用字符串str作为列值的分隔(默认的是tab)
—fields-enclosed-by=char 在每一个字段的前后加上char这个字符(默认没有)
—fields-optionally-enclosed-by=char 在每一个非数字的字段前后加上char这个字符(默认没有)
注意:–fields-enclosed-by和–fields-optionally-enclosed-by不能同时使用;
–fields-escaped-by=char 使用char去转义特殊字符(默认没有)
–lines-terminated-by=str 行结束符(默认是新行,遇到新行就换行)
对于上面的选项,取决于我们给指定的值,有可能要使用转义字符,为了避免,可以使用十六进制代替; 假如,我们想使用双引号将字段引起来,那么我们要使用--fields-enclosed-by选项,但是, 对于命令行来说,双引号是一个特殊字符,所以必须特殊对待; --fields-enclosed-by='"'或者 --fields-enclosed-by=0x22
7.4.4 重新载入分割文本类型的dump文件 ++++++++++++++++++++++ 对于重新载入分割文本类型的文件,我们首先要使用mysql命令调用.sql文件创建一个空表,然后将txt文件里边的数据导入; shell> mysql db1 < t1.sql shell> mysqlimport db1 t1.txt 另一种可选的方式: mysql> USE db1; mysql> LOAD DATA INFILE 't1.txt' INTO TABLE t1; 如果之前使用了mysqldump提供的选项来控制.txt文件的格式,那么,重新载入的时候也还需要明确指定; shell> mysqlimport --fields-terminated-by=, --fields-enclosed-by='"' --lines-terminated-by=0x0d0a db1 t1.txt 或者 mysql> USE db1; mysql> LOAD DATA INFILE 't1.txt' INTO TABLE t1 -> FIELDS TERMINATED BY ',' FIELDS ENCLOSED BY '"' -> LINES TERMINATED BY '\r\n';
相关文章推荐
- [MySQL] 用mysqldump制作文本备份
- 以文本形式备份NTFS ACL列表
- linux用mysqldump每天定时备份MySQL数据库并删除五天前的备份文件
- 生产环境究竟是使用mysqldump还是xtrabackup来备份与恢复数据库
- mysqldump和xtrabackup备份原理实现说明
- 磁盘到磁盘再到云存储备份形式的优势和挑战
- mysqldump 备份时排除某些表的脚本~
- 用mysqldump备份和恢复指定表的方法
- mysqldump备份不输入密码直接备份
- 结合mysqlbinlog与mysqldump进行MySQL数据备份与恢复(适用于较小的数据量)
- linux 文本排序、合并和分割 -转
- mysqldump进行Mysql 备份
- mysql备份mysqldump
- MySQL 的mysqldump备份
- mysqldump 备份数据 using LOCK TABLES
- ASP.Net页面生命周期(3,纯文本形式)
- MySQL的备份与恢复简介和使用mysqldump备份MySQL数据库
- DBC格式解析(以文本形式打开)
- Lynx以纯文本的形式下载网页
- mysqldump备份和还原数据库mysql