MySQL备份-LOAD DATA

  1. MySQL备份-LOAD DATA

MySQL备份-LOAD DATA

注意,使用load data备份恢复方式,表结构必须存在;

使用select ...into outfile备份数据

语法格式如下:

select 语句 into outfile BACKFILE  [OPTIONS]

[OPTIONS]

  • fields terminated by ‘字符串’ : 字符串分割符,默认是制表符’\t’
  • fileds escaped by ’字符‘ : 转义字符,默认是’\‘
  • fileds [optionally] enclose by 字符’‘: 字段引用符,负责向字段值两端加上字段引用符。如果使用optionally 选项,则表示字符串类型上添加字段分隔符。
  • lines starting by ‘字符串’,每条记录前添加该字段。
  • lines terminated by ’字符串‘,每条记录后添加该字符串,默认是换行符 ‘\n’

例如:

mysql> select * from test.t1 into outfile '/data/mysql/t1_bak';
Query OK, 3 rows affected (0.01 sec)

结果会生成在/data/mysql/目录下,对应的数据库目录下面。可以直接使用cat命令查看。

[root@lyucan ~]# cat /data/mysql/t1_bak
1      张三   12     南京
2      李四   21     北京
3      王五   23     上海

恢复表数据:

使用load data infile...快速地从一个指定格式的文本文件中读取数据到一个数据库表中。

语法:

LOAD DATA INFILE 'data.txt' INTO TABLE db2.my_table;

例如:

mysql> delete from test.t1;
Query OK, 3 rows affected (0.00 sec)

mysql> LOAD DATA INFILE '/data/mysql/t1_bak' INTO TABLE test.t1;
Query OK, 3 rows affected (0.00 sec)
Records: 3  Deleted: 0  Skipped: 0  Warnings: 0

mysql> select * from test.t1;
+----+--------+-----+--------+
| id | name   | age | addr   |
+----+--------+-----+--------+
|  1 | 张三   |  12 | 南京   |
|  2 | 李四   |  21 | 北京   |
|  3 | 王五   |  23 | 上海   |
+----+--------+-----+--------+
3 rows in set (0.00 sec)

注意:如果导出数据的时候后面使用了分隔符,导入的时候不需要加,还是按照上面的方式导;

更复杂的配置就不写了,没什么必要,还增加大脑的负担。等用到的时候,去网上查找具体的参数即可,我们并不擅长记忆这些并不常用的选项。 一句话概括这种逻辑备份的精要:怎么吃我的,怎么给我吐出来。怎么吐出来来,怎么给我装进去。选用了什么样的分割选项,导入数据的时候就需要使用对应的分割选项去导入数据。 结合我自己平时的工作内容与实践,基本上不使用这种方式导出。反而使用mysqldump 更多一点。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 289211569@qq.com